Univerzalna integrisana razvojna okruženja. Integrirano razvojno okruženje Razvojno okruženje kao usluga

Dugo sam želio razgovarati o tome kako napraviti složene projekte od dizajna do izdanja. Vjeruje se da je IDE prilično složeni sistemi. Ovo je vrlo dobro. Postoji prostor za dizajn, primjenu obrazaca i izgradnju hijerarhije klasa.

Primjeri uspješnih IDE-ova:

  • Visual Studio
  • Eklipsa
Jedva cekam da pocnem...

Dizajn

Ako želimo da projekat dovedemo do kraja, on mora biti osmišljen. Za što?
  1. Kako bi unaprijed razmislili o projektu, njegovoj strukturi i spriječili kritične greške još u ranim fazama.
  2. Sagledati cijeli obim posla i ne raditi više od planiranog u budućnosti (tako umiru zanimljivi projekti).
  3. Tako da je projekat konzistentan.
Dizajn ne mora nužno imati pisanu formu. Svi programeri dizajniraju kod u svojim glavama dok ga pišu. Tako da dizajniraju na niskom nivou. Da biste pojednostavili i poboljšali dizajn niskog nivoa, morate pripremiti teren - dio visokog nivoa.

Faze dizajna:

  1. Definisanje cilja
  2. Razvoj zahtjeva
  3. Definicija arhitekture
  4. Pisanje projekta visokog nivoa
Svaka naredna faza se nadovezuje na rezultate prethodne i usavršava ih.

Dizajniranje IDE

Target

Naučite dizajnirati i razvijati složene projekte.
Dizajnirajte i razvijte IDE za web razvoj.

Zahtjevi

Uobičajeni su
Cross-platform (+ upotreba izvornog interfejsa u svakom od odabranih operativnih sistema)
Višejezično
Proširivost

Urednik
Isticanje sintakse (+ indikacija sintaksičkih grešaka)
Objašnjenje prilikom prelaska miša preko entiteta u kodu
Automatsko dovršavanje koda (Dovršavanje koda)
Snippets
Rad sa više dokumenata istovremeno

Podržani programski/označni jezici
HTML
Odabir standardnog opisa alata
CSS
Korištenje CSS2, CSS3 (opciono) standarda za opise alata
JavaScript
Korištenje JsDoc-a za opise alata

Arhitektura

Vrlo zanimljiv dio dizajna. Ne postoje jasni zahtjevi za njegov dizajn. Vrlo često sadrži različite dijagrame.

Programski jezik: C# (ispunjava uslove i poznajem ga dovoljno dobro)
vrijeme izvođenja: .net(Windows) mono(Mac OS X, *nix)

Ciljne platforme:

  • Mac OS X(počevši od verzije 10.5.0)
  • *nix(listu distribucija treba pojasniti u budućnosti)
  • Windows(od verzije 2000)
širenje:
  • Mac OS X - dmg
  • *nix - u paketima specifičnim za svaku distribuciju
  • Windows - kao instalater
Struktura projekta:
  • Urednik
    • Marker sintakse (sa lako proširivom listom jezika)
    • Analizatori strukture dokumenta: HTML, CSS, JavaScript
    • Snippet Manager
  • srijeda
    • Upravitelj postavki
    • Hotkey Manager
    • Interface Manager
      • Trake sa alatkama
      • Područja podataka ( strukturu fajla, objektni model dokumenta, ...)
  • Proširivost
    • Proširenja u obliku punopravnih biblioteka
    • Ekstenzije u obliku JavaScript skripti
  • Interface
    • Implementacije
      • WinForms(Windows)
      • Gtk#(*nix)
      • kakao#(Mac OS X)

Ovako je ispao prvi korak u dizajnu. Sljedeća će biti mnogo teža faza - izrada projekta na visokom nivou. Uskoro ću pokušati napisati članak na ovu temu. Hvala vam na pažnji.

[Dodatne informacije]

Pomoć za Ifs Kit ili pomoć za DDK: Vodič za pisce drajvera\Okruženje za razvoj drajvera

[L. 1] Poglavlje 18. Izgradnja i uklanjanje grešaka u drajverima

[L. 2] Poglavlje 8. Struktura upravljačkog programa uređaja; Poglavlje 9. Otklanjanje grešaka u upravljačkom programu uređaja

U ovom dijelu ćemo pokriti sljedeća pitanja:

    Potreban softver

    Instalacija i konfiguracija

Potreban softver:

    Operativni sistem, servisni paket i informacije o otklanjanju grešaka

    Kompajler

    Alati i pomagala za otklanjanje grešaka

operativni sistem ima 2 opcije dostave:

    Provjerena verzija (Debug build)

    Besplatna gradnja (Maloprodaja)

Besplatna izrada – standardna dostava. Potpuna optimizacija je omogućena i ne postoje specijalizirane mogućnosti za otklanjanje grešaka.

Provjerena izrada - posebno dizajnirana za korištenje od strane programera drajvera. Gotovo da nema optimizacije, što doprinosi boljem razumijevanju koda pri radu pod debugerom. Specijalizirani kod za otklanjanje grešaka ugrađen je u mnoge funkcije za provjeru ispravnosti parametara i hvatanje grešaka. Dostupno samo kao dio MSDN pretplate.

Uključene u OS biće nam potrebne informacije za otklanjanje grešaka (datoteke sa ekstenzijom .dbg i .pdb). Sadrži mapiranje adresa unutar određenog izvršnog fajla u simbolička imena funkcija i varijabli i mogu ga koristiti debugeri.

Treba naglasiti da se simboličke informacije razlikuju za provjerenu i besplatnu verziju sistema.

Nakon instaliranja OS-a, morate instalirati najnoviju verziju SP-a. Moramo imati na umu da SP zamjenjuje gotovo sve sistemske datoteke i stoga zahtijevaju nove simboličke informacije.

Za provjerene i besplatne verzije sistema potrebne su zasebne verzije SP-a. Osim toga, OS i SP mogu se razlikovati u podršci za kriptografske algoritme (40-128 bita), što može uticati na mogućnost instaliranja SP-a.

Kompajler. Iako se u principu mogu koristiti kompajleri različitih proizvođača, struktura datoteka zaglavlja i varijabli okruženja koje isporučuje Microsoft za kreiranje drajvera je optimizovana za upotrebu kompajlera Microsoft Visual C. Verzija kompajlera mora biti najmanje 4.1, ali je potrebna stvarna verzija. zavisiće od dve druge komponente - SDK i DDK.

MSDN biblioteka. Kada instalirate Developer Studio, od vas se traži da instalirate MSDN biblioteku, proizvod koji pruža informacije o razvoju softvera na svim podržanim Microsoft platformama.

SDK. U ranijim verzijama komplet se zvao Win32 SDK, Sad - Platform SDK. Ovo je opciona, ali poželjna komponenta za razvoj vozača. Sadrži datoteke zaglavlja, lib datoteke, dokumentaciju i primjere programiranja na korisničkom nivou koristeći Win32 podsistem.

DDK. Postoje DDK-ovi za Windows 95, Windows 98, Windows NT 4.0 i Windows 2000. DDK mora odgovarati platformi za koju drajver treba da bude kreiran, ali ne nužno i platformi na kojoj je drajver kreiran. Koristićemo DDK za Windows NT 4.0. DDK sadrži datoteke zaglavlja, dokumentaciju i primjere pisanja drajvera, isključujući drajvere sistema datoteka.

IFS Kit. Paket za kreiranje drajvera sistema datoteka. Dostupan kao poseban proizvod od vaše MSDN pretplate. Postoje verzije za Windows 98, Windows NT 4.0 i Windows 2000. Najnovije verzije uključuju DDK, ali sa drugačijim skupom primjera. Više rane verzije potrebna preliminarna instalacija DDK.

Postoji odnos između navedenog skupa komponenti:

Prvo se instalira kompajler. Kao što je već pomenuto, iako je moguće koristiti kompajlere drugih kompanija, SDK i DDK pretpostavljaju prisustvo Visual C-a, a u zavisnosti od vremena izdavanja SDK-a i DDK-a, pretpostavljaju se različite verzije kompajlera (prilikom povezivanja, biblioteke iz različitih verzija će biti naznačeno - ovo je SDK, ili neće ispravno pokrenuti komandne datoteke za inicijalizaciju varijabli okruženja - za to je kriv DDK). Osim toga, ranije verzije DDK-a zahtijevale su instaliranje SDK-a. Drugi mogući problem je taj što kada koristite Windows NT Workstation, varijable sistemskog okruženja možda neće biti postavljene.

Lokacija komandnih datoteka za postavljanje varijabli okruženja:

    VC98\bin\vcvars32.bat

    Mstools\setenv.bat

    Ddk\bin\setenv.bat

Ako postoji verzija DDK-a za koju je potreban SDK, linije za provjeru prisutnosti SDK-a i pokretanje njegove setenv.bat datoteke treba isključiti iz datoteke Ddk\bin\setenv.bat, a poziv na vcvars32.bat treba pisati, kao što se radi na radnim mjestima gdje je l/r.

Alati i pomagala za otklanjanje grešaka.

Odabir alata za otklanjanje grešaka – važna tačka, što može uticati na set potrebnog hardvera.

Microsoft proizvodi dolaze sa 4 debuggera:

KD,konzolni program za otklanjanje grešaka u upravljačkim programima kernel moda, nalazi se u direktoriju bin DDK paket za NT4 i Win2000. (i386kd.exe, ia64kd.exe, alphakd.exe, mipskd.exe)

NTSD,konzolni program za otklanjanje grešaka u programima i drajverima korisničkog načina, koji se nalazi u direktoriju sistem32 OS Windows 2000.

CDB,NTSD varijanta, nalazi se u direktoriju bin DDK paket za Windows 2000.

WinDbg, grafički debugger za otklanjanje pogrešaka koda u korisničkom i kernel modu, nalazi se u direktoriju bin DDK paket za Win2000 i Platform SDK.

Od svih navedenih opcija, samo je WinDbg debugger vrijedan pomena. Pruža zgodan korisnički interfejs, ali je vrlo nestabilan, slabo dokumentovan i nema podršku od Microsofta. Da biste koristili ovaj proizvod za otklanjanje grešaka u drajverima, potrebna su vam 2 računara - razvojna platforma i platforma za testiranje. Debugger je dostupan za sve podržane platforme, a moguće je i ispravljanje grešaka na više platformi. Podržava rad na višeprocesorskim sistemima.

Mnogi programeri s pravom smatraju da je SoftICE iz NuMega najbolji program za otklanjanje grešaka za OS i drajvere. Stabilan u radu, dobro dokumentovan, podrška kompanije. Otklanjanje grešaka se vrši na istom računaru na kojem je rađen razvoj, ali je moguće i daljinsko otklanjanje grešaka pomoću DOS programa serial.exe. Korisnički interfejs se može smatrati nedostatkom, ali ovo je stvar navike. Ozbiljniji nedostaci su ograničenje procesorske podrške samo na Intel platforma, kao i nedostatak podrške za višeprocesorske sisteme (međutim, sistem se i dalje aktivno razvija).

Na radnim stanicama za izvođenje L/R, SoftIce je instaliran kao dio NuMega Driver Studio v 2.0 paketa. Kompletna dokumentacija dostupna je u pdf formatu.

Postoji i niz pomoćnih alata na radnom mjestu radi lakšeg proučavanja OS i ponašanja vozača. Neki od ovih alata su isporučeni sa izvornim kodom i svi oni mogu biti dobra vizuelna pomoć za pisanje drajvera. Nabrojimo ova sredstva:

    Monitor – pregledajte informacije o tragovima koje izlaze upravljački programi i aplikativni programi.

    Winobj - Pregled imenskog prostora za upravitelja objekata

    Handleex – informacije o pokrenutim procesima, svim deskriptorima koje su oni otvorili i učitanim dll modulima.

    Filemon – pogledajte aktivnost sistema datoteka, uključujući mailslot i npfs

    Regmon – praćenje pristupa registru, uključujući u fazi pokretanja sistema

    Portmon – praćenje pristupa serijskim i paralelnim portovima

    Tdimon - TDI praćenje zahtjeva.

    Tokenmon – praćenje rada sistema vezanog za srm.

Neki IDE-ovi su besplatni, drugi se plaćaju. Neki od njih su prilično jednostavni, dok drugi rade gotovo sve što možete zamisliti. Postoji mnogo opcija, što znači da ćete sigurno pronaći nešto što vam odgovara.

U ovom članku ćemo vam pomoći da napravite ovaj izbor tako što ćemo detaljnije pogledati pet popularnih IDE-a za web razvoj.

Prvo, hajde da shvatimo šta je IDE? Prema Wikipediji, IDE je i Integrirano razvojno okruženje je softverski sistem koji programeri koriste za razvoj softvera.

IDE se može uzeti u obzirKao švicarski vojni nož za razvoj softvera! Dobar IDE će vam dati sve što vam je potrebno da budete produktivni.

Za razliku od većine uređivača, IDE obično podržavaju punopravne projekte, a ne samo mogućnost obrade odvojeni fajlovi izvorni kod. Čak i ako uređivač može uređivati ​​više datoteka, on ne može podržati kreiranje projekta koji pokriva cijeli folder pun datoteka, kao i specifične parametre za taj projekat. Ove opcije projekta mogu uključivati ​​reference na eksterne softverske biblioteke, prilagođavanje uređivača, kontrolu verzija i opcije za otklanjanje grešaka.

Odlučivanje o tome koji IDE ćete koristiti vrlo je subjektivno jer stvarno ovisi o funkcionalnosti koju tražite, a to može biti:

  • Podrška za više jezika
  • Autocompletion
  • Refaktoring
  • Pozadinsko osvetljenje
  • Debugger
  • SVN/Git integracija
  • Provjera usklađenosti sa standardima
  • Kompajler
  • Prevodilac
  • Upravljanje i uređivanje baze podataka

Ne postoje čvrsta i brza pravila o tome šta je IDE, a šta nije. Kako više funkcija sa gornje liste, prisutni su u programu i dostupni kao dodatak, što je bliži IDE.

Možda ćete primijetiti da neki od IDE-ova koje ćemo pokriti u ovom vodiču zapravo nisu IDE-ovi, oni su uređivači bliski IDE-ovima. Pa zašto ih uopće uvrstiti na našu listu? Ovi uređivači su postali izuzetno popularni u web razvojnom prostoru i imaju velike zajednice korisnika koji ih razvijaju uz mnoge pakete, ekstenzije i dodatke koji znatno olakšavaju razvoj i pretvaraju ih iz običnih uređivača u vrlo korisne IDE.

Zamislite ih kao lagane IDE. Brz, pouzdan i prilagodljiv. Sjećate se naše analogije sa švicarskim nožem od ranije? Sublime Text 3, Coda 2 i Atom su sjajni primjeri takvih IDE-ova. Oni nisu tradicionalni IDE, ali ispravno podešavanje savršeno se uklapaju u IDE koncept.

Prednosti odabira laganog uređivača u odnosu na potpuno uspostavljeni tradicionalni IDE su u tome što se brže otvaraju i pokreću. Videćete na šta mislim ako ikada otvorite IDE sa velikim projektom, moraćete da sačekate neko vreme da se aplikacija otvori i indeksira sve datoteke pre nego što počnete da uređujete.

Uporedite ovo sa "laganim" uređivačem, samo sa funkcijama koje dodate. Ovo rezultira IDE-om koji ne sadrži puno funkcija koje nikada nećete moći koristiti. Ovo vam pomaže da brzo pokrenete svoj razvoj. Međutim, ako ste na vrlo brzoj mašini, možda nećete primijetiti preveliku razliku u vašem svakodnevnom razvoju između potpunog IDE-a i jako prilagođenog uređivača. Međutim, ako nemate taj luksuz, IDE performanse mogu biti veoma važan faktor u vašem svakodnevnom razvoju.

Iz ovih razloga, odlučili smo da malo pomiješamo listu i uključimo i punopravne i “lake” IDE-ove koji će biti vrlo korisni web programerima.

Započnimo našu IDE turneju za web razvoj sa PhpStormom.

PhpStorm

PhpStorm je komercijalni IDE kompanije JetBrains koji se može pohvaliti impresivnim skupom korisnih funkcija.

Međutim, za novog korisnika, sam broj funkcija dostupnih u PhpStormu može izgledati malo neodoljivo. Nemojte se plašiti jer PhpStorm ima odličnu dokumentaciju i video tutorijale dostupne na službenoj web stranici.

Budući da je PhpStorm vrlo bogat funkcionalnošću, može potrajati neko vrijeme za učitavanje. Međutim, kada se u potpunosti učita, PhpStorm se osjeća odlično i nema primjetnih kašnjenja prilikom uređivanja datoteka. Jedna od značajnih karakteristika PhpStorm-a su njegova redovna ažuriranja, ispravke grešaka i nove funkcije.

PhpStorm nije samo za razvoj PHP-a (usput, ima kompletan PHP podrška 7). Takođe ima odličnu podršku za HTML, JavaScript i CSS.

Sajt: https://www.jetbrains.com/phpstorm/
Cijena: Besplatna probna verzija od 30 dana
Izdanje: 2009
Redovno ažurirano: da
Podržane ekstenzije: dodaci
Napisano na: Java

Uzvišeni tekst 3

Sljedeći na našoj listi je Sublime Text 3, koji je razvio John Skinner. Nakon mnogo godina i mnogo godina, postao je moćan i vrlo brz korisnički uređivač. Također je dobro poznat po tome što je izuzetno stabilan i može s lakoćom rukovati vrlo velikim datotekama.

Zanimljivo je da Sublime Text 3 nije imao veće izdanje nekoliko godina. Iako se redovno ažurira, ažuriranja uglavnom sadrže ispravke grešaka uz manja poboljšanja i nove funkcije. Sublime Text 3 je još uvijek u beta verziji, iako je objavljen kao beta još 2013. godine! I trenutno nema vijesti o novom velikom izdanju.

Sublime Text 3 se pokreće vrlo brzo. U stvari, to se dešava gotovo trenutno. Radi izuzetno brzo, bez kašnjenja ili kvarova, čineći izuzetno glatko i efikasno iskustvo uređivanja koda. Prilično je minimalistički i ima menadžer paketa za instaliranje dodataka (napisanih u Pythonu) bez potrebe za ponovnim pokretanjem.

Kao što je gore spomenuto, vrlo dobro obrađuje velike datoteke. Postoji ogroman broj moćnih dodataka (koji se nazivaju paketi) koji Sublime Text čine vrlo fleksibilnim i svestranim.Teško je poreći da je korištenje Sublime Texta zadovoljstvo.

Također možete pronaći veliki broj tutorijala i video tutorijala na Sublime Text 3. Ovo dokazuje da je Sublime Text 3 još uvijek vrlo popularan i naširoko korišćen od strane mnogih web programera na dnevnoj bazi, što je dokaz kvalitete ovog fantastičnog malog urednik.

Iako je Sublime Text još uvijek vrlo popularan, mogao bi početi gubiti tlo pod nogama u narednih nekoliko godina. Međutim, ako biblioteka paketa Sublime Text 3 nastavi da cvjeta, nedostatak većeg izdanja može se previdjeti u kratkom roku.

  • Web stranica: https://www.sublimetext.com/
  • Cijena: 70 USD, dostupna besplatna verzija
  • Izdanje: 2008
  • Redovno ažurirano: br
  • Napisano na: C++, Python
  • Podrška za više platformi: da

Atom

Napravljen od strane GitHub tima, Atom je novi tip među popularnim IDE-ovima u našem pregledu. Objavljen 2014. godine, jedan je od najpopularnijih urednika ovog trenutka i ima zajednicu koja brzo raste.

Ova popularnost može biti posljedica, barem djelomično, činjenice da je Atom open source izvorni kod i potpuno je vođena zajednicom.

Atom takođe ima ogromnu dodatnu biblioteku sa preko 6.000 paketa.

Slično Sublime Text-u, Atom u potpunosti podržava projekte kao i individualno uređivanje datoteka. Postoji ugrađena podrška za Git, što ne čudi budući da je Atom razvio GitHub tim.

Ažuriranja se redovno objavljuju, ali pošto je uređivač relativno nov, malo je vjerovatno da ćete ih čekati.

Mnogi korisnici se žale da prilikom uređivanja postoji sporo učitavanje i neujednačene performanse, posebno kada radite sa velikim fajlovima. Ovo može biti zbog činjenice da je Atom izgrađen u JavaScript-u, dok je Sublime Text razvijen u C++, koji je inherentno brži. Samo će vrijeme pokazati da li će buduće verzije Atoma moći riješiti ove probleme. Međutim, vrijedi zapamtiti da je Atom relativno mlad i da ima dovoljno vremena da sazri.

Sve u svemu, Atom je odličan uređivač koji se lako može prilagoditi za web razvoj. Nije iznenađujuće da je Atom već stekao toliku vuču, i biće zaista zanimljivo vidjeti kako će sazrevati u narednih nekoliko godina. Ovo je svakako nešto na šta treba obratiti pažnju!

  • Web stranica: https://atom.io/
  • Cijena: 100% besplatno
  • Izdanje: 2014
  • Redovna ažuriranja: da
  • Podržane ekstenzije: paketi
  • Napisano na: JavaScript
  • Podrška za više platformi: da

Coda 2

Coda je prvi put objavljena 2007. godine, samo godinu dana prije Sublime Texta. Bio je veoma jak igrač tokom godina, dijeleći većinu tržišta web razvoja sa Sublime Textom, Mac računari. Ovo je glavni nedostatak Code - čak ni deset godina nakon njegovog početnog izdanja, ne postoji verzija za Windows. Ovo je jedini uređivač koji nije više platforma u našoj recenziji.

Editor uključuje ugrađeni terminal i klijent kontrole izvora, kao i FTP klijent i ugrađeni MySQL editor.

Iako se Coda 2 redovno ažurira, to su uglavnom ispravke grešaka i nije bilo novih verzija već dugi niz godina.

Nemojte pogriješiti, Coda 2 je vrlo dobar izbor. Možda se još uvijek pokaže, ali svakako preporučujem da ga provjerite prije donošenja konačne odluke. Pogotovo ako ste korisnik macOS-a!

  • web stranica:
  • Cijena: 25 USD (besplatno probna verzija za 7 dana)
  • Izdanje: 2007
  • Redovno ažurirano: da
  • Podržane ekstenzije: dodaci
  • Podrška za više platformi: ne

NetBeans


Pogodnost i brzina razvoja.

Alexander Makarchuk, qb
Povećanje brzine i pogodnosti razvoja.

Aleksandar Smirnov, Greensight
Ubrzavanje razvoja, smanjenje grešaka, samo pogodnost.

2. Da li je važno obučiti programere da koriste IDE? Zašto?

Alexey Fedorov, Drugovi iz razreda
Ovo je zanimljiva ideja. Sigurno postoje kompanije koje su spremne ulagati u ovo.

,ADV
Ako programer ne poznaje osnovne stvari IDE-a, razvoj će trajati duže. IN savremeni svet Ovo je već uslov za profesiju.

Alexander Makarchuk, qb
Ne, nema potrebe. Učiti znači nametati svoje. Svaki programer radi na onome što mu odgovara. Istovremeno, uvijek možete pokazati prednosti vašeg IDE-a.

Aleksandar Smirnov, Greensight
Ovo je prije pitanje za svakog programera posebno - šta mu je zgodnije. Ali u ranim fazama, pametno automatsko dovršavanje i isticanje grešaka gotovo su nezamjenjivi.

3. Većina kvalitetnih IDE-ova se plaća. Da li se isplati trošiti novac na licence?

Alexey Fedorov, Drugovi iz razreda
Troškovi. Trenutna situacija na tržištu je da su plaćeni IDE općenito mnogo bolji od besplatnih.

Aleksej Persijanov, Mihail Parfenjuk,ADV
Ako želite kvalitetan IDE, isplati se uložiti. Ako ne podržavate kvalitetne IDE programere sa rubljama, onda oni neće praviti kvalitetne IDE

Alexander Makarchuk, qb
Ako je preporučljivo, onda je, naravno, neophodno. Vrijeme je novac.

Aleksandar Smirnov, Greensight
U zavisnosti od potreba i sredstava. Neki ljudi trebaju Sublime, neki žele koristiti Jetbrains proizvode, drugi neizbježno moraju kupiti Xcode.

4. Šta nedostaje modernim IDE? Može li se gigant poput JetBrainsa pojaviti na ovom tržištu?

Alexey Fedorov, Drugovi iz razreda
Možda. Ali biće teško takmičiti se s njima: razvoj IDE zahteva stotine čoveko-godina rada i desetine miliona dolara.

Aleksej Persijanov, Mihail Parfenjuk,ADV
U ovom trenutku, JetBrains je zauzeo ovo tržište i malo je vjerovatno da će se nešto bolje pojaviti u bliskoj budućnosti.

Alexander Makarchuk, qb
Uvijek će se nešto novo pojaviti, a IDE nisu izuzetak. Prednost novih projekata je uvijek u tome što uzimaju u obzir nedostatke starih.

Aleksandar Smirnov, Greensight
Ako dođe nešto bolje, zašto onda ne.

5. Koji drugi alati postoje ili se mogu pojaviti koji ubrzavaju razvoj i olakšavaju život programerima?

Alexey Fedorov, Drugovi iz razreda
Kreatori projekata, praćenje grešaka, sistemi kontrole verzija, sistemi za kontinuiranu izgradnju i integraciju i mnogi, mnogi drugi.

Aleksej Persijanov, Mihail Parfenjuk,ADV
Na primjer, CI sistemi.

Aleksandar Smirnov, Greensight
Teško je reći. Sve više i više alata trećih strana se integriše u IDE umesto da postoje odvojeno.

6. Koje trendove u razvoju IDE funkcionalnosti možete uočiti posljednjih godina?

Alexey Fedorov, Drugovi iz razreda
Integracija sa drugim sistemima kao što su bug trackeri, VCS ili CI serveri. I naravno, brzina - moderni IDE usporavaju mnogo manje nego prije 10 godina.

Aleksej Persijanov, Mihail Parfenjuk,ADV
Prelazak svih plaćenih IDE-a na distribuciju pretplate.

Alexander Makarchuk, qb
Pretplate. Uvijek je lakše platiti manji iznos, pogotovo ako sumnjate u izbor ili još niste navikli na instrument.

Aleksandar Smirnov, Greensight
Razvoj dodataka, integracije sa uslužnim programima i softverom trećih strana, poboljšanje automatskog dovršavanja.

Usluge razmjene poruka

Kao što smo gore napomenuli, servisi poruka se koriste za kreiranje poslovnih Web usluga. Takve usluge su zasnovane na dokumentima, a ne na interfejsima specifičnim za uslugu. Prilikom pozivanja servisa za poruke, klijent šalje dokument (na primjer, nalog za kupovinu proizvoda), umjesto diskretnog skupa parametara. Web servis prihvata dokument, obrađuje ga, a možda čak i ne šalje rezultirajuću poruku. Nedostatak čvrste veze između zahtjeva i odgovora u ovom scenariju pruža određene prednosti u odnosu na usluge udaljenog poziva procedure.

BEA-ina platforma za kreiranje i pokretanje Web usluga naziva se BEA WebLogic E-Business Platforma i sadrži sljedeće ključne komponente:

  • BEA WebLogic Server je aplikacijski server koji je jedan od tri najbolja proizvoda na tržištu. To je srž BEA WebLogic E-Business Platforme i omogućava pristup i implementaciju jednostavnih Web usluga. Trenutno je obezbeđena podrška za standarde kao što su XML, SOAP, UDDI i WSDL;
  • BEA WebLogic Integration je otvoren i proširiv proizvod koji vam omogućava da integrišete partnere putem Weba i kreirate kompleksne Web servise sa podrškom za sigurnost transakcija i informacija, koji rade na osnovu ebXML i BTP standarda;
  • BEA WebLogic Personalization Server - omogućava prilagođavanje Web servisa za određene klijente u zavisnosti od korisničkih postavki, poslovnih pravila ili drugih kriterijuma;
  • BEA WebLogic Workshop je alat za razvoj Web servisa na BEA WebLogic E-Business Platformi.

Kreiranje Web servisa korišćenjem integrisanog WebLogic Workshop okruženja je olakšano činjenicom da ovo okruženje pruža opsežan skup vizuelnih alata za razvoj dizajna usluga. Korišćenje prilagođenih komponenti omogućava pristup resursima kao što su baze podataka, EJB-ovi i drugi Web servisi i postojeće aplikacije. Proizvod uključuje sljedeće komponente: ServiceControl, TimerControl, EJBControl i JMSControl. Logika usluge je sačuvana u JWS datoteci, čiji je sadržaj grafički prikazan u modu dizajna (slika 2).

Aplikacije napravljene sa WebLogic Workshop-om su u potpunosti usklađene sa J2EE specifikacijom i ne zahtevaju implementaciju na BEA WebLogic Server aplikacijskom serveru—dovoljan je bilo koji server aplikacija koji podržava JWS standard. WebLogic Workshop uključuje verziju BEA WebLogic Servera, tako da se Web usluge mogu implementirati kao datoteke Enterprise Archive (EAR) bez ikakvih problema.

Završavajući pregled proizvoda BEA Systems, napominjemo da je kompanija dobro pozicionirana na tržištu, nudi jedan od vodećih aplikacionih servera, ima jasnu strategiju podrške web servisima i srodnim tehnologijama i prati je, mudro pristupajući akviziciji trećeg party proizvoda i razvoj vlastitih proizvoda.

Dodatne informacije o BEA proizvodima možete pronaći na: http://www.beasys.com/products/index.shtml.

Borland

Borland se lako može nazvati pionirom u razvoju alata za kreiranje web servisa za različite platforme. Dakle, Delphi 6 vam omogućava da kreirate i koristite SOAP i WSDL na Windows platformi, Borland Kylix na Linux platformi i JBuilder na Java platformi.

Borlandovi proizvodi spadaju u tri kategorije: razvoj, implementacija i upravljanje. Prva kategorija uključuje:

  • Borland Enterprise Studio je kompletna platforma za modeliranje, razvoj i implementaciju poslovnih i e-commerce rješenja. Proizvod je dostupan u dve verzije: Borland Enterprise Studio za Java (uključuje JBuilder) i Borland Enterprise Studio za Windows (uključuje Delphi);
  • C++Builder je popularan alat za razvoj Windows aplikacija u C++; u verziji 6 vam omogućava da razvijate web servise i aplikacije na osnovu njih. C++Builder 6 pruža podršku za klijente Web usluga koji koriste i SOAP kodiranje i stil Document Literal. Potonji je dio Microsoft .NET Web Services. Pružanje skupa komponenti i čarobnjaka visokog nivoa, uključujući automatsko objavljivanje WSDL dokumenti za Web servise u vreme izvođenja i generisanje koda zasnovano na WSDL-u (WSDL Importer), C++Builder 6 omogućava programerima da lako prilagode postojeće aplikacije za rad u režimu Web usluga i pristupe im i na intranetu i preko Weba;
  • Delphi 6 - omogućava brz razvoj aplikacija koristeći CORBA i Web Services tehnologije za Windows platformu. Izuzetna lakoća kreiranja Web usluga omogućava vam da brzo transformišete postojeće aplikacije u Web sistem. Integrisana podrška za Apache omogućava brzo kreiranje dinamičkih Web aplikacija sa pristupom bazama podataka. Kompatibilnost sa Borland Kylix 2 osigurava razvoj na više platformi (uključujući višeslojne sisteme zasnovane na CORBA IIOP i SOAP) bez žrtvovanja funkcionalnosti. Mogućnost pristupa Enterprise JavaBeans komponentama raspoređenim na Borland AppServer i dostupnost XML alata visokog nivoa omogućava vam da kreirate rješenja korporativnom nivou;
  • JBuilder - uključuje većinu full set vizualni razvojni alati za kreiranje aplikacija na platformi Java 2/J2EE 1.3. JBuilder 6 zadovoljava potrebe gotovo svih programera krajnjih tačaka, omogućavajući integraciju Web i poslovnih aplikacija i pružajući razvojnim timovima lako za korištenje, skalabilno razvojno okruženje. Vizualni alati i čarobnjaci čine razvoj aplikacija lakšim i bržim. JBuilder 6 omogućava razvoj na više platformi, uključujući Windows, Linux, Solaris i Mac OS X. JBuilder trenutno ima preko 60% komercijalnog tržišta razvojni alati na Java platformi;
  • Kylix - omogućava brz razvoj aplikacija koristeći CORBA i Web Services tehnologije za Linux platforme. Jedinstvena lakoća kreiranja Web usluga omogućava brzu transformaciju postojećih aplikacija u Web sistem. Integrisana podrška za Apache omogućava vam da brzo kreirate dinamičke Web aplikacije sa pristupom bazi podataka. Kompatibilnost sa Borland Delphi 6 omogućava razvoj na više platformi bez ugrožavanja funkcionalnosti, uključujući razvoj višeslojnih sistema zasnovanih na CORBA IIOP i SOAP-u. Pristup Enterprise JavaBeans-u koji je raspoređen na Borland AppServer-u i XML alati visokog nivoa omogućavaju vam da kreirate rješenja poslovne klase.

Za implementaciju aplikacija, Borland nudi platformu za e-poslovanje Borland - osnovu za kreiranje kompletne informacione infrastrukture modernog preduzeća. Fokus na standarde, jedinstvena fleksibilnost i skalabilnost su ključ uspjeha projekata izgrađenih na bazi ovih tehnologija. U ovu kategoriju spadaju sljedeći proizvodi:

  • Borland Enterprise Server je prvi integrisani set alata zasnovan na najnovijim industrijskim standardima CORBA 2.4 i J2EE 1.3. Borland Enterprise Server, koji razvija funkcionalnost AppServera i VisiBrokera, zauzima vodeću poziciju u oblasti infrastrukturnog softvera za telekomunikacijski i bankarski i finansijski sektor, u kojem su skalabilnost, visoka brzina obrade transakcija i dostupnost 24/7 kritični zahtjevi;
  • Borland Enterprise Server AppServer Edition omogućava programerima da koncentrišu svoje napore na kreiranje logike aplikacije u obliku EJB (Enterprise JavaBeans) komponenti. Osnovna VisiBroker infrastrukturna jezgra AppServera dodaje bogatstvu J2EE funkcionalnosti moć komunikacijskih alata CORBA IIOP (Internet Inter-ORB Protocol) koji ispunjavaju zahtjeve takvih novih i trenutnih standarda kao što je CORBA Portable Object Adapter (POA), Object-by -vrijednost (OBV - prosljeđivanje objekata po vrijednosti) i RMI-preko-IIOP;
  • Borland Enterprise Server Web Edition uključuje Apache Web server i Tomcat Web kontejner, koji su poboljšani od strane Borlanda (Apache ima ugrađen IIOP dodatak koji pretvara HTTP zahtjeve u IIOP). U BES Web Edition uključena je i JDataStore baza podataka, koja ne samo da zadovoljava standardne potrebe programera u oblasti DBMS-a, već omogućava i keširanje sesije. Borland Web Engine, koji integriše Borland Web Server i Borland Web Container, izgrađen je na VisiBroker kernelu, koji upravlja balansom opterećenja, a takođe obezbeđuje toleranciju na greške za okruženje za implementaciju servleta/JSP, Web aplikacija i Web servisa kreiranih sa koristeći Delphi;
  • Borland InterBase 6 - SQL server baze podataka, integriše jednostavnost upotrebe, niske troškove održavanja i snagu sistema na nivou preduzeća. Borland osigurava da InterBase 6 kombinuje snagu moćne, dokazane arhitekture sa naprednim tehnologijama potrebnim za uspeh aplikacije.

Konačno, za upravljanje infrastrukturom poslovnih aplikacija, Borland nudi AppCenter, jedinstveni alat za upravljanje i praćenje distribuiranih sistema zasnovanih na objektima. Borland AppCenter 4.1 uključuje napredne alate za upravljanje CORBA objektima i Enterprise Java Beans-ovima (EJB), što ga čini nezamjenjivim alatom za pružanje životni ciklus savremeni informacioni sistemi. Integracija AppCenter 4 sa VisiBroker 4.x i Borland AppServer 4.x (uključujući verziju 4.5.1) osigurava stvaranje jedinstvenog, visoko pouzdanog informacionog okruženja preduzeća.

Razvoj web servisa koristeći Delphi 6, C++ Builder i Kylix zasniva se na tri glavne komponente:

  • BizSnap - za kreiranje web servisa na XML baziran i SOAP. BizSnap pojednostavljuje razmjenu, transformaciju i manipulaciju XML dokumentima, pružajući fleksibilnost i proširivost poslovnih aplikacija, čineći ih spremnim za sljedeći talas e-poslovanja;
  • WebSnap - za kreiranje i otklanjanje grešaka na Web aplikacijama. Alati uključeni u WebSnap, kao što je Web server za otklanjanje grešaka, olakšavaju otklanjanje grešaka i testiranje aplikacija. Mogućnost čvrste integracije WebSnap aplikacija u korporativne web stranice i portale razvijene pomoću poznatih alata kao što su DreamWeaver i FrontPage, kao i podrška za skripte na strani servera u JavaScriptu, VBScript i drugim jezicima, omogućava vam da iskoristite postojeći razvoj u polje web aplikacija;
  • DataSnap - za kreiranje veza baze podataka za aplikacije i usluge putem XML, DCOM ili CORBA. DataSnap optimizuje broj konekcija i protoka podataka između klijenata i servera baza podataka tako što centralizuje pristup podacima i ažuriranje u svim procesima i aplikacijama e-poslovanja, i omogućava aplikacijama da se skaliraju kako se količina podataka menja.

Dodatne informacije o Borland proizvodima možete dobiti na: http://www.borland.com/.

Hewlett Packard

ewlett-Packard je bila prva kompanija koja je počela da istražuje na polju web usluga još 1995. godine. Kompanija je 1999. godine najavila platformu E-speak, koja je postala prototip moderne linije proizvoda kompanije, ali do marta 2001. nije pokazala nikakvu vidljivu aktivnost u tom pravcu. Trenutno je najavljen veliki set softverskih proizvoda pod opštim imenom NetAction. Ovaj set se može podijeliti na sljedeće glavne komponente:

  • HP Netaction Internet Operating Environment (IOE) je integrisana platforma za izgradnju i implementaciju rešenja koja vam omogućava da se koncentrišete na poslovne probleme, a ne na razvoj programa;
  • HP Opencall - platforma za razvoj usluga vezanih za isporuku podataka, glasovnih informacija, itd.;
  • HP Chai je kompletna platforma za isporuku Web usluga razni uređaji. To je prilagodljivo Java okruženje za pristup Webu, kao i modularni Embedded Linux blokovi.

Interakcija ovih komponenti, kao i niza drugih proizvoda kompanije, prikazana je na dijagramu (slika 3).

Pogledajmo detaljnije glavne komponente HP Netaction IOE:

  • HP Application Server – server aplikacija „nove generacije“ sa arhitekturom orijentisanom na usluge i podrškom za povezane usluge;
  • HP Application Server Resilient Edition - verzija aplikacijskog servera za podršku kontinuiranog rada, poruka, transakcija i drugih tehnologija za osiguranje performansi Web usluga;
  • HP Process Manager je alat za upravljanje procesima koji vam omogućava da grafički definišete poslovne procese i automatizujete njihovo izvršavanje;
  • HP Process Manager, Interactive Edition - alat za brzi (koristeći alate za grafičko modeliranje) razvoj kompozitnih aplikacija za web bazirane ili mobilne usluge;
  • HP Total-e-Transactions - alat za upravljanje transakcijama za J2EE aplikacije;
  • HP Message Service - alat za podršku J2EE Java Message Service;
  • HP Web Services Registry – Omogućava korisnicima da kreiraju i upravljaju korporativnim registrima i pristupom Web uslugama. Uključuje HP Registry Composer, grafički alat za registraciju i traženje usluga u web i korporativnim registrima;
  • HP Total-e-Syndication je alat za automatizaciju isporuke sadržaja Web usluga koji se integriše sa drugim proizvodima kompanije;
  • HP Mobile Portal Solution je alat za isporuku usluga i sadržaja mobilnih uređaja;
  • HP Web Services Transactions je alat za upravljanje transakcijama koji se sastoji od tri komponente: koordinatora transakcija, transakcijskog servera i klijentskih biblioteka koje se koriste za pokretanje transakcija;
  • HP Web Services Platforma je otvorena arhitektura zasnovana na standardima za razvoj, implementaciju, registrovanje, pretraživanje i korišćenje Web usluga, uključujući softver i uslužne programe za implementaciju Java objekata kao Web usluga. Arhitektura HP Web Services Platforme prikazana je na Sl. 4 .

Za razvoj usluga predlaže se korištenje alata HP Service Composer, koji pruža grafičko sučelje za kreiranje WSDL sučelja za Java objekte i podržava automatsku implementaciju Web usluga na HP Application Server.

Hewlett-Packard zauzima sopstvenu nišu na tržištu za kreiranje Web usluga, uporedivu, možda, sa nišama koje zauzimaju IBM i Sun - kompanija ima kako hardverske platforme za izvršavanje Web usluga, tako i softverske platforme za implementaciju i upravljanje uslugama, a nakon uspješnim spajanjem s Compaq-om, Hewlett-Packard će također imati konsultantske usluge.

Za više informacija o podršci za web usluge posjetite: http://www.hp.com/go/webservices/ , http://www.hp.com/go/webservicestools/ i http://www.hp.com/ go/middleware/ .

IBM

Iako IBM nije bila jedna od prvih kompanija koja je artikulisala svoju viziju za Web usluge, ona je u stvari lider (kao i Microsoft) u promovisanju standarda i tehnologija vezanih za Web usluge. Trenutno, IBM ne samo da nudi širok spektar proizvoda za kreiranje i implementaciju Web usluga (od WebSphere Suite do alata za hostovanje Web usluga, podršku za Web usluge na nivou DB2 DBMS - u porodicama proizvoda Tivoli i Lotus), već ima i određene politike u pogledu razvoja samog koncepta Web servisa i aktivno učestvuje u njegovoj promociji, sarađujući sa drugim liderom - Microsoftom.

Govoreći o proizvodima koje nudi IBM za kreiranje i implementaciju Web servisa, prije svega treba istaći alate kao što su WebSphere Studio za kreiranje servisa u Javi, WebSphere Application Server, MQ serija za upravljanje porukama za povezivanje sistema, uključujući podršku za SOAP i Web usluge na DB2 DBMS razini.

Glavni proizvodi

Iz IBM-ove opsežne porodice proizvoda, postoje dvije linije proizvoda koje su prvenstveno od interesa za one koji žele kreirati Web usluge: WebSphere Studio porodica proizvoda i WebSphere Application Server porodica proizvoda:

  • WebSphere Studio je skup alata za kreiranje Web usluga. Važno je da ovaj proizvod nije dizajniran samo za programere, već i za web dizajnere, umjetnike i web majstore koji mogu učestvovati u kreiranju usluga. WebSphere Studio uključuje alate kao što su Applet Designer, vizuelni alat za kreiranje Java apleta, WebArt Designer, za kreiranje grafičkih elemenata, i Animated Gif Designer, za kreiranje animiranih GIF slika. Osim toga, ističemo najvažnije komponente uključene u WebSphere Studio: WebSphere Studio Site Developer - alat za kreiranje i objavljivanje web usluga s podrškom za glavne web standarde, WebSphere Studio Application Developer - kompletan set alata uključenih u WebSphere Studio Site Developer , kao i alati za usluge praćenja i testiranja;
  • WebSphere Application Server - Ovaj serverski proizvod pruža podršku za sve glavne standarde Web usluga i integriše se sa WebSphere Studio, na taj način olakšavajući kreiranje i implementaciju Web usluga. Dodatno, WebSphere Application Server uključuje alate za integraciju s drugim IBM proizvodima, kao što su Lotus Domino i WebSphere Commerce Suite. WebSphere Application Server je jedan od prvih poslužitelja aplikacija koji je usklađen sa J2EE 1.3 specifikacijom.

Prema Giga Information Group, WebSphere platforma je najvažnija za kreiranje web servisa - to je navelo 33% ispitanika. Drugi najvažniji bio je Microsoft .NET, a treći J2EE sa dodatnim tehnologijama za podršku Web servisa (slika 5).

Ostali proizvodi

Među ogromnim brojem proizvoda koje nudi IBM, postoje i oni koji su na neki način povezani sa Web uslugama. Najvažnije od njih su sljedeće:

  • VisualAge za Javu je alat za vizuelni razvoj u Javi koji se integriše sa porodicom proizvoda WebSphere Studio;
  • DB2 je relacijska baza podataka koja podržava glavne standarde Web usluga, uključujući XML, UDDI i SOAP. DB2, kada se koristi u kombinaciji s DB2 XML Extenderom, omogućava vam da dohvatite i pohranite podatke putem Web usluga;
  • Web Services Hosting Technology - porodica proizvoda za upravljanje Web uslugama, koja vam omogućava da analizirate upotrebu usluga i koristite različite modele plaćanja;
  • Web Services Gateway - skup različitih sigurnosnih funkcija pristupa, uključujući podršku za autentifikaciju korisnika;
  • Web Services Toolkit - skup alata za razvoj Web usluga.

Web Services Toolkit, besplatni skup alata za razvoj Web usluga od IBM-a, je implementacija arhitekture Web usluga opisane u dokumentu Pregled arhitekture Web usluga dostupnom na IBM Web stranici. Ovaj komplet sadrži sljedeće komponente:

  • klijentski dio:
    • UDDI4J API za upravljanje UDDI registrima (i korporativnim i onima koji se nalaze na Internetu) putem funkcija Save, Delete, Find i Get;
    • Services Registry API za upravljanje UDDI registrima putem funkcija Publish, Unpublish i Find;
  • WSDL 1.1, Web Services Flow Language (WSFL), WS-Inspection i HTTPR (Pouzdan HTTP) specifikacije;
  • set alata za razvoj web servisa:
    • Pomoćni programi zasnovani na AXIS, uključujući Java2WSDL uslužni program za generisanje WSDL dokumenata zasnovanih na Java kodu i WSDL2Java uslužni program za generisanje Java proxy koda na osnovu WSDL dokumenta;
    • Alat za konfiguraciju kompleta alata za web usluge za postavljanje i konfiguraciju kompleta alata za web usluge;
    • Alat portala pomoćnih web usluga za upravljanje korisnicima web usluga uključenih u pomoćne web usluge;
  • skup Web usluga (Utility Web Services) koji pružaju skup funkcija, koji se može koristiti prilikom kreiranja poslovnih aplikacija:
    • Notification;
    • Common Data;
    • korisnički identitet;
    • Mjerenje;
    • Računovodstvo;
    • Ugovor.
  • primjeri korištenja uslužnih web usluga;
  • skup softverskih alata za implementaciju Web usluga, uključujući WebSphere Application Server Micro Edition i UDDI registar;
  • WSDLdoc uslužni program za automatsko generiranje dokumentacije bazirane na WSDL datotekama;
  • skup Java klasa za programsko upravljanje WSDL dokumentima (WSDL4J);
  • SOAPConnect za LotusScript - alat koji omogućava Lotus Domino i Lotus Notes aplikacijama da koriste Web usluge;
  • UDDI4J za upravljanje UDDI registrima iz Java aplikacija.

Arhitektura Web Services Toolkit-a prikazana je na Sl. 6. Ovdje su prikazane glavne komponente kompleta alata za web usluge. Alati za kreiranje Web usluga, koji se nalaze u donjem desnom uglu, uključuju uslužne programe za otkrivanje i objavljivanje usluga, kao i za kreiranje usluga iz postojećih Java aplikacija. Runtime komponente su podijeljene na komponente servera i klijenta. Serverske komponente uključuju UDDI registar za kreirane Web usluge, skup pomoćnih Web usluga i primjere korištenja usluga. Klijentske komponente se nalaze u aplikacijama koje pristupaju serverskim komponentama i podržavaju Java interfejse koji omogućavaju aplikacijama da izvode sledeće operacije:

  • objavljivanje i otkrivanje Web servisa direktnim pristupom UDDI (UDDI4J);
  • objavljivanje i pronalaženje Web servisa putem WSDL dokumenata (WSDL proxy);
  • pristup web servisima putem SOAP-a.

Imajte na umu da Web Services Toolkit nije komercijalan i da je njegova svrha da pruži skup tehnologija za široku upotrebu od strane programera. Neke od ovih tehnologija mogu naknadno biti uključene u nove verzije komercijalnih proizvoda kao što su WebSphere Studio Application Developer, WebSphere Application Server ili drugi IBM, Tivoli ili Lotus proizvodi (pogledajte http://www.lotus.com/developer/).

Buduće verzije Web Services Toolkit-a planiraju implementaciju sljedećih komponenti: dodatnu sigurnosnu podršku, proširenja za upravljanje uslugama, podršku za WorkFlow, podršku za nove verzije Apache AXIS-a, obezbjeđivanje okruženja za kreiranje, objavljivanje i pretraživanje usluga, poboljšanje integracije sa UDDI registrima .

Dodatne informacije o kompletu alata za web usluge dostupne su na web stranici na: http://www.alphaworks.ibm.com/tech/webservicestoolkit/.

Microsoft

icrosoft igra aktivnu ulogu na tržištu kreiranja i korišćenja Web servisa i zajedno sa IBM-om učestvuje u skoro svim inovacijama vezanim za ovu tehnologiju. Praktično nema standarda (počevši od standarda XML jezik), u čijem usvajanju Microsoft ne bi imao značajnu ulogu. Primer Microsoftovog interesovanja za liderstvo na tržištu Web usluga je stvaranje, zajedno sa IBM-om, udruženja Web Services Interoperability Organization (WS-I, http://www.ws-i.org/) u februaru 2002. trenutno broji više od 100 članova.

Kao platformu za Web usluge, Microsoft nudi .NET Framework i skup serverskih aplikacija za preduzeća (familija .NET Enterprise Servers). Danas je .NET najkompletnija implementacija tehnologija Web usluga. Za razvoj i upotrebu web servisa, Microsoft nudi Visual Studio .NET, vizuelno okruženje koje podržava sve programske jezike i integriše se sa postojećim serverima kompanije.

Potvrđenost Microsoftove implementacije tehnologija Web usluga potvrđuju podaci istraživanja koje je proveo Gartner, Inc. (vidi “Veliki dobavljači web usluga”, D. Smith, avgust 2001. – slika 7).

Microsoftovi proizvodi za web usluge spadaju u pet glavnih kategorija - .NET iskustva, klijenti, XML web usluge, uslužni programi i serveri:

  • XML Web usluge su građevni blokovi komponenti zasnovanih na standardima Web usluga: SOAP, WSDL, UDDI i XML. Prvi, ali neuspješan pokušaj kreiranja takvih blokova bio je skup usluga poznatih kao .NET My Services za pohranjivanje raznih ličnih podataka. Ova kategorija takođe uključuje usluge kao što su .NET Passport i .NET Alerts;
  • .NET Experiences – Microsoft opisuje .NET Experiences kao skup Web usluga koje vam omogućavaju „pristup informacijama preko Interneta ili iz običnih aplikacija“. Iako razlike između XML Web usluga i .NET Experiences nisu dobro definisane, prvi proizvodi u kategoriji .NET Experiences su MSN, prilagođena veb lokacija koju podržava Microsoft, bCentral, veb lokacija za mala preduzeća i Microsoft Visual Studio. NET..NET alat za razvoj aplikacija;
  • klijenti - ova kategorija uključuje i hardverske i softverske komponente. Hardverska komponenta može biti bilo koji uređaj koji može pristupiti web uslugama i podržava TCP/IP komunikacije, uključujući personalne računare, telefone, ručne računare, konzole za igre itd. Iz Microsoftove perspektive, tip hardverske komponente nije bitan, sve dok je baziran na nekoj varijanti Windows platforme; bilo Windows XP ili Windows CE;
  • serveri - ova kategorija uključuje proizvode iz porodice .NET Enterprise Servers, uključujući uključujući Microsoft Windows 2000, itd.;
  • uslužni programi - Microsoft nudi veliki skup softverskih alata za kreiranje .NET Web usluga, uključujući Microsoft Visual Studio .NET i .NET Framework.

Arhitektura Microsoft .NET platforme prikazana je na Sl. 8 .

Porodica Microsoft proizvoda

Microsoft .NET familija proizvoda se dopunjuje skoro svakog meseca, ali za našu recenziju dovoljni su već postojeći serverski proizvodi, razvojni alati, operativni sistemi i Web servisi:

  • serverski proizvodi su bazirani na serverskom operativnom sistemu Windows sistem 2000, koji će uskoro biti zamijenjen Windows .NET Serverom. Među raznim serverskim proizvodima, vredi istaći: Windows 2000 Server - serverski operativni sistem koji uključuje podršku za direktorijume, Web, aplikacije, komunikacije, usluge datoteka i štampanja, Aplikacioni centar za upravljanje grupama servera; Mobile Information Server - server koji vam omogućava isporuku informacija i .NET usluga na mobilne uređaje; BizTalk Server - server koji podržava razmjenu XML informacija i dokumenata između aplikacija i preduzeća; Commerce Server - server za kreiranje e-commerce aplikacija; Content Management Server - server za upravljanje sadržajem web stranica i isporuku ovog sadržaja različitim klijentima;
  • razvojni alati. Glavni proizvod ovdje je Microsoft Visual Studio .NET - alat za kreiranje .NET servisa koji podržava programske jezike kao što su Visual Basic, C# i J#. Potonji, međutim, iako formalno podržava sintaksu Java jezika, ne dozvoljava kreiranje standardnih Java aplikacija – pisani kod će raditi samo pod Microsoft .NET;
  • operativni sistemi i aplikativni softver. Operativni sistemi su srž Microsoftove .NET strategije. Ovo uključuje sve Windows verzije, uključujući Windows CE za PDA, Windows Embedded i verzije Windowsa koji rade na Microsoft Xbox konzoli. Od Microsoft aplikacijskog softvera bilježimo paket microsoft office, Za najnoviju verziju koji ima .NET podršku;
  • Web usluge. Usluge su XML komponente i građevni blokovi koje Microsoft i druge kompanije mogu koristiti za izgradnju Web usluga.

Neka pitanja korišćenja Microsoft Visual Studio .NET-a za kreiranje Web servisa razmatrana su u članku “New Generation Web – Web Services”, objavljenom u ComputerPressu br. 6’2001.

Dodatne informacije o podršci za Web usluge mogu se naći na veb lokaciji kompanije na adresi http://www.microsoft.com/webservices/.

Oracle

Uprkos činjenici da je Oracle dugo raspravljao o problemima vezanim za Web usluge, vrlo jasan koncept podrške ovoj tehnologiji formiran je relativno nedavno. Sada podršku za Web servise prati velika kampanja čiji se slogan može formulirati na sljedeći način: „Upotrebom Oracle proizvoda razvoj web usluga će biti deset puta brži, deset puta manje resursno intenzivan, a usluge sami će biti deset puta pouzdaniji.”

Oracle ima dva pristupa kreiranju i korišćenju Web usluga: prvo, kompanija obezbeđuje softversku infrastrukturu koju programeri mogu koristiti za kreiranje Web usluga, i drugo, razvija i prodaje softverske proizvode kao Web usluge.

Štaviše, Oracle koristi Web usluge da proširi svoj domet izvan tržišta baza podataka. Ovo je počelo pojavom E-Business Suite - skupa korporativnih proizvoda koji mogu raditi putem Interneta.

Za razvoj Web usluga, Oracle nudi J2EE kompatibilno Oracle 9i JDeveloper okruženje (ovaj proizvod je dostupan kao besplatna verzija). Server aplikacija Oracle 9i Application Server se koristi za pokretanje Web usluga, a Oracle 9i Database DBMS se koristi za kreiranje aplikacija koje koriste podatke.

Osim toga, Oracle nudi E-Business Suite - server softver, koji rade putem interneta i uključuju komponente kao što su CRM, B2B, finansijske, projektne, upravljanje resursima, kao i komponente poslovne inteligencije. Oracle Small Business Suite takođe radi preko Interneta i sadrži module za računovodstvo, izvještavanje, upravljanje korisnicima i nekoliko drugih.

Sun Microsystems

Sun već dugo tvrdi da će usluge dostupne preko Weba jednog dana zamijeniti tradicionalne aplikacije. Međutim, Sunu je trebalo dosta vremena da razvije svoju viziju u jasnu viziju, tako da su se planovi kompanije za web usluge oblikovali relativno nedavno.

Sun je najavio inicijativu Sun ONE (Open Net Environment) u oktobru 2001. (Slika 10). Potreba za ovom platformom nastala je zbog sljedeće okolnosti: uprkos činjenici da J2EE pruža pouzdanu, skalabilnu, prenosivu platformu za kreiranje poslovnih rješenja, do nedavno nije imala standardiziranu podršku za Web servise.

Sun ONE je arhitektura, platforma i skup alata za kreiranje i implementaciju web servisa zasnovanih na otvorenim standardima (XML, UDDI, WSDL, SOAP), koji se u terminima Sun naziva Services on Demand (Slika 11).

Sun ONE platforma je bazirana na sledećim osnovnim komponentama: Solaris operativnom sistemu, Java 2 platformi, iPlanet porodici servera i Forte razvojnim alatima. U nastavku ćemo detaljnije pogledati ove komponente i navesti njihove glavne karakteristike i svrhu.

Solaris

Solaris je operativni sistem baziran na UNIX-u koji radi na sistemima baziranim na SPARC i Intel. Dizajniran je sa višeprocesorskom podrškom i 64-bitnom arhitekturom na umu. Uz operativni sistem se isporučuju Forte for Java, Forte Developer 6 Tools, iPlanet Web Server, iPlanet Directory Server, set StarOffice uredskih proizvoda i Oracle8i Enterprise Edition DBMS.

Porodica Solaris uključuje sljedeće proizvode:

  • Solaris operativno okruženje je osnova Sun sistema. Ovo je računarsko okruženje za servere bilo kog nivoa - od servera odeljenja do masivnih, grupisanih servera sa više od 100 procesora - dizajnirano za višeprocesorske 64-bitne sisteme;
  • Pouzdano Solaris operativno okruženje - proširuje mogućnosti Solaris operativnog okruženja, štiteći računarsko okruženje od unutrašnjih i eksternih upada;
  • Solaris WBEM usluge - koriste se za kreiranje i modifikovanje informacija pohranjenih u standardnom CIM formatu, olakšavaju administraciju Solaris operativnog okruženja i osiguravaju interakciju usluga upravljanja;
  • Solaris Bandwidth Manager - upravlja mrežnim prometom;
  • Solaris Resource Manager - upravlja sistemskim resursima, osiguravajući njihovu dostupnost i najbolja upotreba;
  • Solaris Easy Access Server - koristi se za omogućavanje sistema baziranih na Solarisu na mreži zasnovanoj na Windows NT;
  • Solaris PC NetLink - migrira mrežne usluge Windows tip NT, usluge datoteka, usluge štampanja, upravljanje direktorijumom i autentikacija sa PC servera u Solaris operativno okruženje;
  • Solaris šifrovanje podataka - pruža podršku za tehnologije šifrovanja za Solaris operativno okruženje;
  • Solaris PDASync - sinhronizuje Solaris desktop aplikacije sa Palm OS uređajima i aplikacijama koje rade na personalnim računarima;
  • Sun Cluster - omogućava vam korištenje osnovnih Solaris usluga unutar klastera, pružajući potpunu kompatibilnost sa postojećim aplikacijama za Solaris operativno okruženje;
  • Sun Management Center - Pruža funkcije upravljanja za Solaris operativno okruženje, uključujući usluge za upravljanje hardverskim i softverskim konfiguracijama. Pored Sun Management Center-a, nudi se Service Availability Manager, koji povećava dostupnost mrežnih servera koji rade lokalno ili udaljeno na Sun sistemima, prati i potvrđuje dostupnost mrežnih servisa - Web servera, FTP, Mail, Kalendar servisa itd. Dodatni proizvod za Sun Management Center je i System Reliability Manager, koji povećava pouzdanost platforme i sadrži niz modula za implementaciju ažuriranja, praćenje sistem podataka, pokretanje skriptnih programa i analiziranje dnevnika pada operativni sistem.

Više detaljne informacije Operativni sistem Solaris se može naći na: http://wwws.sun.com/software/solaris/.

Java 2 platforma

Java je Sun-ova osnovna tehnologija na kojoj se zasniva većina njegovih proizvoda i usluga. Od pojave Java tehnologije, osnovna filozofija kompanije se nije promenila: aplikaciju na Javi napišete jednom i ona može da radi na bilo kojoj platformi, bez obzira na operativni sistem. To zahtijeva korištenje odgovarajućih virtuelna mašina Java - Java VM. Najviše nova verzija platforme za razvoj na jeziku Java - Java 2 Platform, Enterprise Edition (J2EE). Sa Sunčeve tačke gledišta, aplikacije koje će obavljati funkcije Web usluga moraju biti napisane u Javi. Java aplikacije mogu raditi na bilo kojem uređaju koji sadrži Java VM, uključujući personalne računare, mobilne računare, Mobiteli i bežični uređaji.

Više informacija o Javi možete pronaći na: http://wwws.sun.com/software/java/index.html.

Iznad okvira ovog pregleda nije obuhvaćena sva interfejsa i tehnologije zasnovane na J2EE platformi. Ovde ćemo se fokusirati samo na interfejse koji omogućavaju rad sa XML dokumentima i kreiranje i korišćenje Web servisa - Java XML Pack i Java Web Services Developer Pack.

Java XML paket

Java XML Pack je skup interfejsa i alata za razvoj, objavljivanje, otkrivanje i korišćenje XML Web usluga za Java 2 platformu. Tehnologije uključene u Java XML Pack mogu se podijeliti u dvije široke kategorije - alati za rad sa XML dokumentima i alati za korištenje XML tehnologija. Prva kategorija uključuje:

  • Java API za XML obradu (JAXP) je skup interfejsa za obradu XML dokumenata pomoću JAXP-kompatibilnog parsera. Pruža podršku za model događaja (SAX) i model stabla (DOM) za obradu XML dokumenata;
  • Java arhitektura za XML Binding (JAXB) je sredstvo za mapiranje između XML dokumenata i Java klasa, omogućavajući vam da koristite XML dokumente kao obične Java objekte.
  • Alati za korištenje XML tehnologija uključeni u Java XML Pack uključuju:
  • Java API za XML Messaging (JAXM) - podrška za prijenos XML poruka koristeći Java jezik. JAXM je baziran na specifikacijama SOAP 1.1 i SOAP sa prilozima, ali ako je potrebno, funkcionalnost se može proširiti da podrži protokole visokog nivoa kao što su ebXML ili bizTalk;
  • Java API za XML registre (JAXR) je jedinstveni mehanizam za pristup registrima iz Java jezika. JAXR nije vezan za specifičnu implementaciju registra i može se koristiti i sa XML registrima zasnovanim na standardu ebXML registra i spremišta i sa registrima zasnovanim na specifikaciji univerzalnog opisa, otkrivanja i integracije (UDDI).
  • Java API za RPC baziran na XML-u (JAX-RPC) - znači da podržava pozivanje udaljenih metoda zasnovanih na XML-u preko Interneta.

Java XML paket možete preuzeti sa: http://java.sun.com/xml/javaxmlpack.html.

Java Web Services Developer Pack

Sun je nedavno objavio Java Web Services Developer Pack (Java WSDP), koji uključuje Java XML Pack. Java Web Services Developer Pack je skup alata koji olakšavaju kreiranje Web usluga na platformi Java 2. Ovaj set uključuje, pored Java XML paketa, sljedeće komponente:

  • JavaServer Pages Standardna biblioteka oznaka (JSTL) 1.0 Beta 1;
  • Ant Build Tool 1.4.1;
  • Java WSDP Registry Server 1.0 EA2;
  • Alat za implementaciju web aplikacija;
  • Apache Tomcat 4.1-dev kontejner.

Java WSDP je podržan na sljedećim platformama: Solaris 2.8, Windows 2000, Professional Edition, Windows XP, Professional Edition, RedHat Linux 7.2.

Java Web Services Developer Pack uključuje vodič na više od 600 stranica, Java Web Services Tutorial, koji pokriva sve aspekte kreiranja Web usluga koristeći interfejse, biblioteke i tehnologije navedene iznad.

Java WSDP se može naći na: http://java.sun.com/webservices/webservicespack.html.

iPlanet

iPlanet je porodica serverskih proizvoda kompanije Sun. Uključuje web server, server direktorija, kao i druge servere, o kojima ćemo ukratko govoriti u nastavku. Treba napomenuti da je uvođenje alata za razmjenu poruka u iPlanet direktan odgovor na Microsoft .NET Alerts. Međutim, za razliku od Microsoft .NET Alerts, Sun-ove mogućnosti slanja poruka i obavještavanja nisu zasnovane na Microsoft Passportu, već na alternativnom rješenju poznatom kao Liberty Alliance.

Porodica iPlanet uključuje sljedeće proizvode:

  • iPlanet Directory Server - dizajniran za skladištenje i upravljanje profilima, pristup privilegijama, aplikacijama i mrežnim resursima. Pored toga, postoje iPlanet Directory Server Access Management Edition i iPlanet Directory Server Integration Edition;
  • iPlanet LDAP Proxy Server - pruža sigurnosne usluge za iPlanet Directory Server;
  • iPlanet Certificate Management System - pruža usluge korporativne autentifikacije za zaposlene, klijente i partnere, upravlja certifikatima baziranim na X.509;
  • iPlanet Web Proxy Server - služi kao menadžer saobraćaja, prikuplja podatke sa mreže, definiše mehanizme preusmjeravanja i pruža povezane usluge;
  • iPlanet Portal Server - koristi se za implementaciju komercijalnih portala i uključuje usluge za upravljanje članstvom, personalizaciju, integraciju i pretraživanje informacija;
  • iPlanet Web Server Enterprise Edition - Web server sa podrškom za Java Servlet i Java Server Pages;
  • iPlanet Biller Xpert - olakšava pripremu i objavljivanje računa, plaćanje putem interneta;
  • iPlanet Market Maker - upravlja katalozima, modelima cijena, online pregovorima, aukcijama itd.;
  • iPlanet BuyerXpert - koristi se za kontrolu kupovina preko web interfejsa;
  • iPlanet SellerXpert - koristi se za automatizaciju rada prodajnih kanala;
  • iPlanet Trustbase Transaction Manager - pruža sigurnu komunikaciju između organizacija i klijenata;
  • iPlanet Messaging Server - pruža usluge za razmjenu informacija, slanje i primanje poruka uz podršku za Web interfejs;
  • iPlanet Calendar Server - upravlja kalendarima, dijeljenjem resursa, zakazivanjem događaja i grupnim radom;
  • iPlanet Application Server se koristi za razvoj, implementaciju i upravljanje aplikacijama zasnovanim na Java 2 Platform Enterprise Edition (J2EE) na raznim serverima, klijentima i uređajima. Tu su i iPlanet Application Server EAI Edition i iPlanet Application Server B2B Edition;
  • iPlanet Message Queue za Javu - koristi se za integraciju naslijeđenih sistema i podataka s novim aplikacijama i ERP rješenjima;
  • iPlanet Unified Development Server - služi za brzo kreiranje, implementaciju i upravljanje mrežnim aplikacijama.

Više informacija o iPlanet porodici proizvoda možete pronaći na: http://wwws.sun.com/software/iplanet/products/ http://wwws.sun.com/software/Developer-products/ffj/index.html .

Između ostalog, Sun razvija skup web usluga, uključujući Sun ONE WebTop - set uredskih proizvoda ( obradu teksta, proračunska tabela, grafički paket, itd.) dostupni kao Web servisi, kao i skup web servisa za podršku slanju/primanju poruka i upravljanju rasporedom događaja. Osim toga, u dokumentu pod nazivom "Sun ONE Architecture Guide" možete pronaći odjeljak o osnovnim web uslugama, u kojem se pominju usluge kao što su lokacijska web usluga, web usluga prisutnosti, web usluga obavijesti, web usluga korištenja, web usluga pretraživanja, datoteka Web servis, kao i skup web servisa koji čine dostupnost funkcionalnosti iPlanet porodice proizvoda.

Jedan primjer web usluge je myServices.ONE, koji implementira košaricu za kupovinu koju koristi više trgovina. Izgrađen sa iNsight-om za Forte za Javu, ova web usluga omogućava kupcima da pregledaju i ažuriraju svoje kupovine u jednoj kolici. Usluga myServices.ONE uključuje: myIdentity (podrška za identifikaciju između web stranica), myBasket (podrška za centraliziranu košaricu za više trgovina), myJeeves (centralizirana automatizacija plaćanja).

Kao što smo već napomenuli, Sun nije odmah jasno formulisao svoju poziciju u odnosu na web servise. Zbog toga je izgubljeno vrijeme koje je omogućilo drugim kompanijama - prvenstveno IBM-u i Microsoftu - da preuzmu vodstvo. Međutim, Sun ima sve što mu je potrebno - od jezika Java do razvojnih alata, od operativnog sistema do serverskih proizvoda - da postane jedan od pet najboljih lidera u ponudi alata za kreiranje web usluga. Pozitivni aspekti uključuju i veliki broj Java programera koji su lojalni proizvodima i tehnologijama kompanije, kao i dostupnost širokog spektra hardverskih rješenja.

Sybase

U februaru ove godine, Sybase je najavio stratešku inicijativu koja ima za cilj da pomogne korisnicima da migriraju svoje postojeće infrastrukture na Web usluge. Sybase planira da aktivno učestvuje u podršci standardima, učestvujući u organizacijama kao što su Organizacija za interoperabilnost veb usluga (WS-I) i Organizacija za standarde strukturiranih informacija (OASIS).

Web servisi će biti podržani u četiri ključna područja: razvoj, implementacija, pristup i upravljanje. U nastavku ćemo pogledati proizvode koji će obavljati svaku od ovih funkcija.

Razvoj

EAServer Web Service Toolkit je skup alata za kreiranje, testiranje, automatizaciju i implementaciju aplikacija koje koriste Web usluge i povezivanje takvih aplikacija sa postojećim poslovnim procesima. Ovi alati vam također omogućavaju objavljivanje web usluga putem UDDI registara.

PowerDesigner 9.0 integriše različite pristupe modeliranju i omogućava korisnicima da u potpunosti razumiju elemente koji čine web uslugu. Uz PowerDesigner 9.0, dizajneri mogu lako generirati kod i objekte baze podataka koji su potrebni za razvoj i pokretanje Web usluga. Koristeći generisanje koda zasnovano na šablonima, PowerDesigner 9.0 automatizuje kreiranje koda za odabrani programski jezik, kao i WSDL dokumenata potrebnih za implementaciju Web servisa.

PowerBuilder će podržati sve standarde vezane za Web usluge, uključujući SOAP, XML, WSDL, UDDI i XSL, kao i buduće standarde. Programeri će moći da objavljuju i uređuju podatke, kao i da razmenjuju XML informacije putem protokola povezanih sa Web uslugama na J2EE i Microsoft .NET platformama. Web usluge će biti dostupne PowerBuilder klijentima i drugim klijentima koji podržavaju standarde Web usluga. Sybaseova PowerBuilder partnerska strategija trenutno omogućava programerima pristup Web uslugama putem ne-vizuelnih objekata (NVO). PowerBuilder i Web Services Toolkit uključeni uz Sybase EAServer olakšavaju PowerBuilder programerima da kreiraju i implementiraju NVO-e kao Web usluge direktno na EAServer aplikacijski server.

Implementacija

EAServer 4.1 je server aplikacija sa podrškom za otvorene standarde i tehnologije neophodne za razvoj, upotrebu i implementaciju aplikacija zasnovanih na Web uslugama, uključujući podršku za UDDI, SOAP, J2EE, WSDL i UDDI mogućnosti upravljanja registrima.

Business Process Integrator omogućava preduzećima da integrišu i upravljaju „tokom“ Web usluga i aplikacija; Na ovaj način kompanije mogu upravljati eksternim i internim poslovnim procesima. Ovaj proizvod vam omogućava da isporučite SOAP poruke iz jedne aplikacije zasnovane na Web uslugama u drugu, a takođe podržava aplikacije u ebXML i RosettaNet standardima.

Sybase baze podataka, uključujući Adaptive Server Enterprise, Sybase Adaptive Server IQ i SQL Anywhere, omogućavaju aplikacijama zasnovanim na Web uslugama pristup podacima pohranjenim u Sybaseu, kao i IBM, Microsoft i Oracle bazama podataka, putem pohranjenih procedura.

Pristup

Sybase Enterprise Portal proširuje Portlet Framework da podrži portlete koji koriste Web usluge. Proširivanje postojećeg okvira omogućava programerima da implementiraju poslovnu logiku kao Web usluge i dijele takve usluge između portleta i aplikacija. Ovaj pristup može značajno smanjiti vrijeme potrebno za razvoj i testiranje. Osim toga, takvi web servisi postaju dostupni drugim portalima i aplikacijama.

Platforma iAnywhere Solutions m-Business platforma podržava web usluge za proširenje pristupa korporativnim informacijama putem mobilnih i bežičnih uređaja. Ugrađena podrška za mobilnu komunikaciju, uključujući mogućnost slanja poruka na više uređaja koristeći različite mrežni protokoli, može se koristiti kao Web usluga od strane drugih poslovnih aplikacija. Kompanija također planira kreirati set alata za programere koji će omogućiti kreiranje dodatnih web servisa.

Kontrola

BizTracker prati performanse okruženja u kojem se pokreću Web usluge.

Open Bizs Interchange koordinira i upravlja Web uslugama, kao i raznim heterogenim tehnologijama, u jednom logičkom sloju koji se nalazi iznad ostalih usluga i može se posmatrati kao jedan kontrolni element. Delujući kao hosting usluga, Open Bizs omogućava korisnicima da se brzo povežu sa partnerima koristeći tehnologiju po svom izboru i ne zahtevaju instalaciju i konfiguraciju raznih komponenti za povezivanje.

Dodatne informacije o Sybase proizvodima možete dobiti na: http://www.sybase.com/

ComputerPres 6"2002

Veza