Podpora za strežnik aplikacij v sistemu AS/400 omogoča, da deluje kot strežnik za zahtevnike aplikacij DRDA. Zahtevnik aplikacij, ki je povezan s strežnikom aplikacij DB2 Universal Database za AS/400, je lahko katerikoli odjemalec, ki podpira protokole DRDA.
Zahtevnik aplikacij lahko dostopi do tabel, ki so lokalno shranjene na strežniku aplikacij DB2 Universal Database za AS/400. Preden lahko zaženete katerikoli stavek SQL, mora zahtevnik aplikacij na strežniku aplikacij DB2 Universal Database za AS/400 izdelati paket. Strežnik aplikacij DB2 Universal Database za AS/400 v času izvajanja programa uporabi paket, ki vsebuje stavke SQL aplikacije.
Če želite obdelati zahteve porazdeljene baze podatkov na strežniku aplikacij AS/400, morate poimenovati bazo podatkov strežnika aplikacij v imeniku RDB. Za komunikacije SNA morate definirati sistem strežnika aplikacij ter nastaviti velikosti enot in krmiljenje takta za zahteve in odzive. Za komunikacije TCP/IP, ki jih podpira DB2 Universal Database za AS/400 različice 4.2, preberite Povezovanje DB2 Universal Database za AS/400 v omrežje DRDA prek TCP/IP.
Bazo podatkov strežnika aplikacij poimenujete na enak način, kot določite bazo podatkov zahtevnika aplikacij. Uporabite ukaz Dodaj postavko imenika relacijske baze podatkov (ADDRDBDIRE) in za oddaljeni položaj podajte *LOCAL.
Za dostop z uporabo SNA je definiranje strežnika aplikacij za omrežje enako definiranju zahtevnika aplikacij za omrežje. Izdelati morate opise linij, krmilnikov, naprav in načinov, s katerimi definirate strežnik aplikacij in zahtevnik aplikacij, ki pošiljata zahteve. Za informacije o definiranju strežnika aplikacij za omrežje preberite temo Definiranje lokalnega sistema za DB2 Universal Database za AS/400 in temo Definiranje oddaljenega sistema za DB2 Universal Database za AS/400. Preberite tudi priročnik AS/400 Distributed Database Programming.
Ime transakcijskega programa, ki se uporablja za zagon baze podatkov strežnika aplikacij AS/400, je privzetek DRDA X'07F6C4C2'. To ime transakcijskega programa je definirano znotraj sistema AS/400 tako, da zažene strežnik aplikacij. Ustrezni parameter za povezave TCP/IP, če ta protokol podpira DB2/400, so vrata. DB2/400 bo vedno uporabil znana vrata DRDA 446.
Če želite določiti, ali omrežje porazdeljene baze podatkov vpliva na obstoječe omrežje, morate pregledati definicije omrežja. Ta problematika je enaka za strežnik in zahtevnik aplikacij.
Ko zahtevnik aplikacij usmeri zahtevo porazdeljene baze podatkov na strežnik aplikacij AS/400, morate pri zaščiti upoštevati naslednje:
Zahtevnik aplikacij na strežnik aplikacij pošlje ID uporabnika, ki ga preveri zaradi zaščite. Ta ID uporabnika uporabi opravilo, ki se izvaja na strežniku aplikacij AS/400, včasih pa namesto njega uporabi tudi privzeti ID uporabnika.
Strežnik aplikacij AS/400 ne omogoča prevoda vhodnega ID-ja uporabnika, ki bi razrešil navzkrižja med ID-ji uporabnikov, ki niso enkratni, ali združil več uporabnikov pod enim ID-jem uporabnika. Vsak ID uporabnika, ki ga pošlje Odjemalec aplikacij, mora obstajati na strežniku aplikacij. Vhodne zahteve lahko združite v en ID uporabnika tako, da v komunikacijski postavki podsistema, ki obravnava zahteve za zagon oddaljenega opravila, podate privzeti ID uporabnika; uporaba tega načina nekoliko zmanjša zaščito. Preberite opise za ADDCMNE in CHGCMNE v priročniku AS/400 CL Reference.
LU 6.2 nudi tri glavne funkcije za zaščito omrežja:
Strežnik aplikacij DB2 Universal Database za AS/400 uporablja zaščito na ravni seje natančno tako kot zahtevnik aplikacij DB2 Universal Database za AS/400.
Strežnik aplikacij krmili ravni pogovora SNA, uporabljene za pogovor. Parameter SECURELOC v opisu naprave APPC ali vrednost zaščitenega mesta na seznamu oddaljenih položajev APPN določata, kaj bo od zahtevnika aplikacij sprejeto za pogovor.
Za zaščito pogovora SNA so na voljo naslednje možnosti:
SNA/DS (storitve porazdeljevanja SNA) zahteva privzeti ID uporabnika, zato naj ima SNA/DS svoj lasten podsistem za običajne primere, če za aplikacije DRDA ne želite uporabiti privzetega ID-ja uporabnika.
Način za združevanje vzhodnih zahtev za zagon opravila v en ID uporabnika je bil omenjen v temi Izbira imen končnih uporabnikov. Ta način ne preveri ID-ja uporabnika, ki ga pošlje zahtevnik aplikacij. Opravilo strežnika aplikacij se zažene z uporabo privzetega ID-ja uporabnika, uporabnik, ki je zagnal povezavo s strežnika aplikacij, pa ima dostop do strežnika aplikacij tudi, če ima poslani ID uporabnika omejena pooblastila. To lahko naredite tako, da strežnik aplikacij definirate kot nezaščiten položaj, v komunikacijski postavki podsistema AS/400 podate privzeti ID uporabnika in zahtevnik aplikacij konfigurirate tako, da ID-je uporabnikov pošilja samo med obdelavo povezave. Če pošljete tudi geslo, bo ID uporabnika, ki je poslan z njim, uporabljen namesto privzetega ID-ja uporabnika.
Komunikacijske postavke podsistema AS/400 se med seboj ločujejo po imenu naprav in načinov, uporabljenih za zagon pogovora. Z dodelitvijo različnih privzetih ID-jev uporabnikov različnim parom naprav/načinov lahko uporabnike razdelite glede na to, kako komunicirajo s strežnikom aplikacij.
Sistem AS/400 nudi tudi funkcijo za zaščito omrežja, ki se uporablja samo za upravljanje porazdeljenih baz podatkov in porazdeljenih datotek. Za to vrsto dostopa do sistema obstaja omrežna lastnost, ki zavrne vse poskuse dostopa ali omogoča, da zaščito nadzoruje sistem na osnovi posameznih objektov.
V DB2 Universal Database za AS/400 različice 4.2 je na voljo na ukaz z imenom CRTDDMTCPA, ki omogoča, da podate, ali bo strežnik sprejel povezovalne zahteve TCP/IP brez gesla.
Vso zaščito obravnava funkcija za zaščito sistema OS/400.
Sistem AS/400 nima zunanjega podsistema za zaščito. Vso zaščito obravnava funkcija za zaščito sistema OS/400, ki je integralni del operacijskega sistema. Operacijski sistem krmili pooblastila za vse objekte v sistemu, vključno s programi, paketi, tabelami, pogledi in zbirkami.
Strežnik aplikacij nadzoruje pooblastila za objekte, ki so na strežniku aplikacij. Nadzorovanje zaščite za te objekte temelji na tem, kateri ID uporabnika zažene opravilo strežnika aplikacij. Ta ID uporabnika določite tako, kot je opisano v temi Izbira imen končnih uporabnikov.
Zaščito za objekte lahko upravljate z uporabo ukazov CL za pooblastila objektov ali z uporabo stavkov SQL GRANT in REVOKE. Ukazi CL za pooblastila objektov vključujejo ukaza Dodeli pooblastilo za objekt (GRTOBJAUT) in Prekliči pooblastilo za objekt (RVKOBJAUT). Te ukaze CL lahko uporabite za katerikoli objekt v sistemu. Stavka GRANT in REVOKE lahko uporabite samo za objekte SQL: tabele, poglede in pakete. Če morate spremeniti pooblastila za druge objekte, kot so programi ali zbirke, uporabite ukaza GRTOBJAUT in RVKOBJAUT.
Ko v sistemu izdelate objekte, jim je dodeljeno privzeto pooblastilo. ID uporabnika, ki izdeluje tabele, poglede in pakete, dobi pooblastilo all. Vsi drugi ID-ji uporabnikov (public) dobijo enako pooblastilo, kot ga imajo za zbirko ali knjižnico, v kateri izdelate objekt.
Pooblastilo za objekte, na katere se nanašajo statični ali dinamični stavki znotraj paketov, se preveri med izvajanjem paketa. Če izdelovalec paketa nima pooblastila za omenjene objekte, bodo pri izdelavi paketa vrnjena opozorilna sporočila. V času izvajanja dobi uporabnik, ki izvaja paket, pooblastilo izdelovalca paketa. Če ima izdelovalec paketa pooblastilo za tabelo, uporabnik, ki izvaja paket pa ne, uporabnik prevzame pooblastilo izdelovalca paketa in lahko uporablja tabelo.
Za podrobnejše informacije o zaščiti sistema glejte priročnik Zaščita AS/400 - Priročnik.
Izdelki, ki podpirajo DRDA, na strežniku aplikacij samodejno opravijo vse potrebne pretvorbe, vendar mora vrednost CCSID strežnika aplikacij podpirati tudi zahtevnik aplikacij.
Na strežniku aplikacij pazite na CCSID, ki je povezan z naslednjim:
CCSID streženega opravila mora biti združljiv z zahtevnikom aplikacij. Ta CCSID se vzpostavi s profilom uporabnika in z ID-jem uporabnika, ki zahteva povezavo. Podpora za upravljanje dela v OS/400 nastavi CCSID opravila na vrednost CCSID, ki je podana v profilu uporabnika. Če CCSID ne obstaja v profilu uporabnika, podpora za upravljanje dela poišče CCSID (QCCSID) v sistemski vrednosti. Sistemska vrednost QCCSID je v začetku nastavljena na CCSID 65535.
Preden zaženete zahtevo za DB2 Universal Database za AS/400, se morate prijaviti in uporabiti ukaz Spremeni profil uporabnika (CHGUSRPRF), s katerim boste profilu uporabnika opravila, ki bo streglo zahtevam DRDA, dodelili ustrezno vrednost CCSID.
Zbirka SQL je sestavljena iz objekta knjižnice OS/400, dnevnika, sprejemnika dnevnika in po želji tudi iz podatkovnega slovarja IDDU, če za stavek CREATE COLLECTION podate člen WITH DATA DICTIONARY. Fizične in logične datoteke, ki jih uporabite za nekatere izmed teh objektov, v času izdelave po privzetku uporabijo CCSID opravila. Če za podatkovni slovar ali katalog izvedete poizvedbo iz zahtevnika aplikacij, ki ne podpira vrednosti CCSID teh datotek, se lahko zgodi, da podatkov ne bo mogoče prikazati ali jih ne bo mogoče prikazati pravilno. Lahko se zgodi tudi, da bo zahtevnik aplikacij izdal sporočilo, da vrednost CCSID ni podprta. Če želite odpraviti to težavo, morate izdelati novo zbirko SQL z vrednostjo CCSID opravila, ki je sprejemljiva za drug sistem.
CCSID opravila lahko spremenite z ukazom Spremeni opravilo (CHGJOB). Za nadaljnja opravila uporabite ukaz Spremeni profil uporabnika (CHGUSRPRF), s katerim boste spremenili vrednost CCSID profila uporabnika. V programu CL za iskanje vrednosti trenutnega opravila uporabite ukaz Poišči lastnosti opravila (RTVJOBA). Interaktivno lahko uporabite ukaz Delo z opravilom (WRKJOB) in nato na zaslonu Delo z opravilom izberete možnost 2, Prikaži lastnosti definicije opravila.
Tabela SQL ustreza fizični datoteki DB2 Universal Database za AS/400 znotraj knjižnice, ki ima enako ime kot zbirka. Tudi stolpci tabele ustrezajo definicijam polj fizične datoteke. Vrednosti CCSID za tabelo ali stolpce tabele morda ne bodo združljive z zahtevnikom aplikacij. Če želite to vrednost spremeniti, preberite Predstavitev podatkov, ki opisuje spreminjanje fizičnih datotek baze podatkov. Glavni razlog za nezdružljivost CCSID v različicah OS/400 pred V3R1 je bil, da so bile številne datoteke ali tabele SQL po privzetku označene s CCSID 65535. V različici 3 izdaji 1 in novejših izdajah se vrednosti CCSID teh datotek samodejno spremenijo v drugo, primernejšo vrednost.