IR4PIA Lekcija7 Realizacija Web Servisa

Embed Size (px)

Citation preview

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    1/42

    Realizacija Web servisa

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    2/42

    1. Uvod

    ta izaziva potrebu za poslovnom integracijom? integracija poslovnih aplikacija

    spajanja i preuzimanja kompanija

    integracija poslovnih partnera

    Kako se ostvaruje poslovna integracija? integrisanjem aplikacija

    razmenom informacija i saradnjom (interoperabilnost)

    standardima

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    3/42

    1. Uvod

    Primeri uobicajenih tehnologija distribuiranih racunarskih sistemakoje su vec u irokojupotrebi: CORBA

    Common Object Request Broker Architecture od OMG-a Jezicki nezavisan i objektno orijentisani standard distribuiranog sistema Problem: nije zagarantovana interoperabilnost ako distributeri nisu implementirali potpunu

    CORBA specifikaciju

    DCOM Distributed Component Object Model Microsoftova tehnologija za distribuirano objektno programiranje Problem: implementacija samo u Windows-u, toogranicava interoperabilnost Java RMI

    Remote Method Invocation Java distribucija objekata

    Problem: nije jezicki nezavisna RMI preko IIOP

    Java RMI-u slican stil programiranja koristeci CORBA IIOP za komunikaciju Tehnike koje klijenti koriste da pristupe poslovnim zrnima Jave (Enterprise JavaBeans) Problem: zavisnost od CORBA-e za komunikaciju i od Jave za interfejs

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    4/42

    1. Uvod

    Performanse i proirivost Menadment Postizanje labavog uparivanja(loose coupling) Definisanje granularnosti interakcija Odravanjekonteksta prekoviesistema transakcije, bezbednost, stanje sesija Konverzija protokola Pracenje verzija Firewall i drugi bezbednosni izazovi

    Mreniprotok Otpornost na otkaze (failover) Uocavanje problema i analiza uzroka Cena razvoja, integracije i testiranja

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    5/42

    1. Uvod

    Arhitekturalni stil projektovanja distribuiranih sistema koji obezbedujeaplikativnu funkcionalnost u viduservisabilo korisnicima aplikacije bilodrugim servisima

    Koristi otvorene standarde kao osnovu za prikazivanje fukcionalnostisoftvera u vidu servisa Omogucava standardan nacin za prikaz i interakciju funkcionalnosti

    softvera

    Dozvoljava da pojedinacne funkcionalnosti softvera budu gradivniblokovi koji se mogu iskoristiti u razvoju drugih aplikacija

    Fokusira se na sklop aplikacije umesto na implementacione detalje Moese interno koristiti za stvaranje novih aplikacija od postojecih

    komponenti

    Moese eksterno koristiti za integraciju sa aplikacijama drugih kompanija

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    6/42

    1. Uvod

    Servis je funkcionalnost aplikacije koja je upakovana kao komponentakoja moe biti koricena vie puta u poslovnom procesu.

    Obezbedjuje dobro definisan interfejs Deluje kao nezavisna funkcija

    Koristi poruke da sakrije implementacione detalje

    Ne zavisi od stanja drugih servisa

    Prua informacije pozivaocu i omogucava prevodjenje poslovnihpodataka iz jednog validnog i konzistentnog stanja u drugo

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    7/42

    1. Uvod

    Web servisi su softverski sistemi dizajnirani da podreinteroperabilnu komunikaciju izmeu maina preko mree.

    Interoperabilnost znai da softverski sistemi nezavisno odtehnologije u kojoj su napisani mogu da komuniciraju i

    razmenjuju podatke.

    Softverski sistem identifikovan uz pomoc URI, definisan,opisan i otkriven pomocu XML artefakta, koji interagujesa drugim softverskim sistemima koristeci XML porukepreko protokola baziranih na Internetu."

    (W3C Web Services Architecture Group)

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    8/42

    1. Uvod

    Osnovni koraci u procesu kreiranja Web servisa:

    1. Pisanje Web servisa,

    2. Objavljivanje Web servisa(WSDL)

    3. Pronalaenje Web servisa4. Povezivanje klijenta sa servisom(SOAP)

    Arhitektura Web servisa

    1

    2

    3

    4

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    9/42

    1. Uvod

    Opisan jezikom WSDL koji ne zavisiod transportnog protokola Proiriv Interoperabilnost Polazi od dobrih principa distribuiranog dizajna Tehnologija koja omogucava SOA i sisteme na zahtev

    Standardi, standardi, standardi Iskustvo korisnika Menadment Poslovni procesi Transakcije Pouzdanost Bezbednost Pronalaenje

    Povezivanje Enterprise Bezbednost Objavljivanje

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    10/42

    1. Uvod

    Uspene implementacije SOA i web servisa obezbedila su reenja za izazove ubrojnim industrijama:

    Transport Potreba za procenjivanjem realnih cena je oteana kada poiljku prenosi vie prevoznika

    Bankarstvo

    Potreba za obezbedjivanjem bankarskih usluga vecem broju korisnika Potreba za integrisanjem velikog broja internih

    aplikacija

    Dravna uprava Potreba za deljenim pristupom podacima od strane vie resora

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    11/42

    1. Uvod

    Interoperabilnost izmedu heterogenih sistema

    B2B (business-to-business) interakcije jeftiniji od EDI (Electronic Data Interchange) i drugih zaticenih alternativa

    Viestruki zahtevi narocito za heterogene platforme, protokole i kanale

    Enkapsulacija postojecih sistema Zatita od izmene sistema

    Standardizacija servisa u okviru velikih projekata (enterprise)

    Integrisanje third-party paketa

    Koreografija procesa

    Razvoj portala

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    12/42

    WSDL i SOAP

    Web servisi se objavljuju i pokreu na serveru. Klijent mora da zna koje usluge servis nudi.

    Za opis usluga koristi se WSDL(Web Service Description Language).

    Postoji mogunost da se iz WSDL kreiraju klase kako za serversku, tako

    za klijentsku stranu SOAP (Simple Object Access Protocol) je standardni komunikacioni

    protokol.Opcioni, nosi dodatne informacije,npr. digitalni potpis

    Obavezan, nosi bitne informacije zaizvravanje metode (parametri) i rezultate.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    13/42

    SOAP

    Protokol za prenos XML poruka kroz mreuSOAP poruka je sama po sebi XML dokument

    Nezavisan od vrste mree, transporta i programskog jezika

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    14/42

    WSDL

    Web Services Definition Language (jezik za definisanje web servisa)

    Opisuje interfejs web servisa koristeci XML

    Povezivanja

    Operacije

    Lokacije specificne implementacije Apstraktno definieoperacije i poruke

    Koristi XML emuza cuvanje informacija o tipovima

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    15/42

    Odnosi izmedu osnovnih standarda

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    16/42

    Web servis aplikacija

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    17/42

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    18/42

    2. Apache CXF

    Open source frejmvork za pisanje Web servisa. Ukljuujeirok skup funkcija.

    Podrka za Web servis standarde (SOAP, WSDL, WS-Security, WS-Security Policy...).

    Lakoa korienja, jednostavno pisanje i objavljivanje Webservisa, integracija sa Spring frejmvorkom, uvoenje WS-Security-ja...

    Omoguava razne naine za pisanje servisne i klijentskestrane.

    Podrava pisanje REST Web servisa, implementira JAX-WSstandard. Za pisanje Web servisa bez anotacija nudi SimpleFrontend API.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    19/42

    Kreiranje servisne strane pomou JAX-WS-a

    Moguce jekoristiti JAX-WS standard za pisanje Web servisa (i zaklijentsku i za servisnu stranu), pri emu postoje sledei pristupi:

    1. Pisanje servisa na viem i niem nivou apstrakcije. Ako elimo da sakrijemo rad sa SOAP porukama koristimoWeb servise (@WebService

    anotaciju).

    Za rad na niem nivou apstrakcije koriste se Web servis provajderi(@WebServiceProvider).

    2. Top-down i bottom-up pristup. Top down pristup podrazumeve da se prvo napie ugovor (WSDL) pa onda automatski

    generiu klase iz WSDL-a. (WSDL2Java alat).

    Bottom-up pristup polazi od pisanja Java anotiranog koda, prilikom objavljivanja servisa

    generie se automatski WSDL fajl. Preporuuje se top-down pristup jer bi servisi trebalo da budu

    implementaciono neutralni. Bottom-up se preporuuje kadapostojeu aplikaciju elimo da osposobimo da bude servis.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    20/42

    Kreiranje klijentske strane

    JAX-WS generisani klijent pomou WSDL2Javaalata,

    JAX-WS proxy,

    JAX-WS Dispatch API (za direktan rad sa SOAPporukama),

    Simple Frontend Client Proxy,

    Dinamiki klijent (Dynamic Client).

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    21/42

    Implementacija Web servisa

    Servis koji za zadatu godinu studija vraa listu studenata sate godine.

    Koraci:1. Napisati WSDL fajl.

    2. Generisati sve servisne klase pomou WSDL2Java alata (ako piemo CXFklijenta moemo i sve klijentske klase generisati pomou ovog alata).

    3. Napisati potrebnu logiku servisa.

    4. Objaviti servis (Tomcat, Spring).

    5. Testiranje

    6. Implementirati WS-Security (zatita SOAP poruka koje se alju HTTPprotokolom).

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    22/42

    WSDL (1)

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    23/42

    WSDL (2)

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    24/42

    WSDL2 Java alat

    Pozivom WSDL2Java alata vri se mapiranje iz korienog WSDL fajla u javaklase. Moe se koristiti i za klijentsku i za servisnu stranu. Opti oblik naredbe jewsdl2java -ant -impl -server -d outputDirwsdlfile.wsdl

    Generisanje klasa na klijentskoj strani po slinom principu. Sledei korak je implementacija biznis logike.

    Imena paketa poklapaju se sa imenimatargetnamespace izWSDL fajla

    Interfejs Web servisa

    poklapa se sa imenom

    Implementacija Webservisa,generiu seprazne metode u kojimase definie biznis logika

    Klasa koja slui zainstanciranje proxy-jaza komunikaciju saservisom

    U paketu se nalaze JAXB anotirani JavaBean-ovi koje se koriste za serijalizacijuobjekata u XML fajl i obrnuto. Sve onenastale su na osnovu elemenatadefinisanih u XML emi, predstavljajuomotae SOAP poruka

    StudentList.javapackage studentservice;

    import javax.jws.WebMethod;import javax.jws.WebParam;

    ...@WebService(targetNamespace = "http://studentService", name = "StudentList")@XmlSeeAlso({studentservice.types.ObjectFactory.class})public interface StudentList {@WebResult(name = "return", targetNamespace ="http://studentService/types")@RequestWrapper(localName = "getStudentList", targetNamespace ="http://studentService/types", className ="studentservice.types.GetStudentList")@ResponseWrapper(localName = "getStudentListResponse",

    targetNamespace = "http://studentService/types", className ="studentservice.types.GetStudentListResponse")@WebMethodpublic java.util.List getStudentList(@WebParam(name = "year", targetNamespace ="http://studentService/types")int year) throws WrongYearException;

    }

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    25/42

    Objavljivanje servisa

    Objaviti servis pomouCXF implementacijejavax.xml.ws.Endpoint API-ja.

    Objaviti servis na aplikativni server (Tomcat). Konfiguracija servisa uovom sluajuje raena pomouSpring frejmvorka.

    Spring je open source frejmvork nastao sa idejom da olakapisanjeenterprise aplikacija.

    Spring nudi mnogo mogunostikao tosu:1. Podrkaza rad sa bazama podataka (JDBC)

    2. Podrkaza rad sa ORM frejmovrcima (Hibernate,...)

    3. Podrkaza rad sa transakcijama.

    4. AOP

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    26/42

    Objavljvanje servisaSpring frejmvork-Dependency Injection

    U svakoj sloenijoj aplikaciji, objekat komunicira sa vie drugihobjekata.

    Potrebno je da objekat ima reference na druge objekte.

    Ako je objekat sam zaduen za postavljanje referenci dobija se kod sapuno zavisnosti, teak za testiranje.

    Spring omoguava da se zavisnosti inject-uju u objekat kada se oninstancira pomou Spring klasa (Spring kontejneri). Objekat treba da ima reference na interfejse a ne na konkretne

    implementacije.

    Konfigurisanje zavisnosti kroz XML.

    Spring kontejner parsira XML. Kada je potreban objekat trai se od Spring kontejnera i dobija sa svim

    postavljenim zavisnostima.

    Spring omoguava inject-ovanje kolekcija (liste,mape).

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    27/42

    Apache CXFObjavljivanje servisa

    beans.xml

    web.xml

    WritingServiceWithSpringcontextConfigLocationWEB-INF/beans.xml

    org.springframework.web.context.ContextLoaderListener

    CXFServletorg.apache.cxf.transport.servlet.CXFServlet

    1

    CXFServlet/*

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    28/42

    Testiranje servisa

    Konfiguracija klijentske strane slino, kroz Spring. Prilikom testiranja korieni su dodatni alati (soapUI, TCPMonitor).

    1

    Lazar Lazarevi2008/3333RTI

    Petar Petrovi2007/0433ETA

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    29/42

    Zatita SOAP poruka (WS-Security)Osnovni pojmovi

    Osnovni pojmovi iz zatite podataka:1. plaintext (otvoreni tekst)- originalna poruka koja se alje,

    2. ciphertext (ifrovana poruka) - kodirana poruka,

    3. cipher (ifra)- algoritam transformacije originalne u kodiranu

    poruku,4. key (klju)- informacija koriena u ifri, poznata samo

    poiljaocu/primaocu,

    5. encipher (encrypt) [ifrovanje (kriptovanje)]- konverzija originalneporuke u kodiranu,

    6. decipher (decrypt) [deifrovanje (dekriptovanje)]- obnavljanjeoriginalne poruke iz kodirane,

    7. cryptography (kriptografija)- nauka o metodama i principimaifrovanja.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    30/42

    Zatita SOAP poruka (WS-Security)Simetrini algoritmi

    Simetrini ili klasini algoritmi ifrovanja. Obezbeuju tajnost poruke.

    Postoji tajni klju koji dele primalac i poiljalac.

    Najpoznatiji algoritmi DES, TripleDES, AES.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    31/42

    Zatita SOAP poruka (WS-Security)Asimetrini algoritmi

    Asimetrini algortimi, najvei napredak u istoriji kriptografije (RSA). Svaki uesnik u komunikaciji ima par kljueva, javni i tajni.

    Javni klju je dostupan svakome, tajni samo vlasniku.

    Poruka ifrovana javnim kljuem moe da se deifruje samo tajnim

    (obezbeuje se tajnost). Poruka ifrovana tajnim kljuem moe da se deifruje javnim

    (autentikacija , integritet poruke).

    Tajnost:

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    32/42

    Zatita SOAP poruka (WS-Security)Autentikacija i Integritet

    ifrovanje tajnim kljuem naziva se digitalno potpisivanje. Svako ko ima javni klju moe da proveri potpis i autentikuje

    poiljaoca.

    Obino se potpisuje samo deo poruke.

    Izrauna se he funkcija nad odreenim delom poruke (SHA1). Potpie se (ifruje) tajnim kljuem he vrednost.

    Ovime se pored autentikacije obezbeuje i integritet poslate poruke.

    Integritet je obezbeen jer su he algoritmi tako osmiljeni da se tekodobije ista he vrednost za razliite ulazne podatke.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    33/42

    Zatita SOAP poruka (WS-Security)CA

    Uesnik u komunikaciji generie par javni/tajni klju i objavljuje javniklju.

    Kako verovati da je uesnik u komunikaciji zaista onaj za koga sepredstavlja?

    U komunikaciju se uvodi proverena trea strana (TTP) ili CA

    (Certificate Authority) koja izdaje digitalne sertifikate. Digitalni sertifikat garancija od strane CA za javni klju uesnika u

    komunikaciji.

    Uesnik u komunikaciji generie samopotpisani sertifikat i poalje gaCA-u.

    CA potpie svojim tajnim kljuem sertifikat. Svi koji veruju tom CA-u (poseduju njegov javni klju) mogu da proveresertifikat i utvrde validnost kljua.

    X509 standard za sertifikate.

    h

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    34/42

    Apache CXFZatita SOAP poruka (WS-Security)

    Krajnji ciljevi implementacije vezani za zatitu podataka: Klijent koji alje poruku je prvo potpisuje. Potpisuje se neki deo poruke, npr.body

    deo poruke ili body i timestamp. Za raunanje hea moe da se koristi SHA-1algoritam, a za ifrovanje RSA algoritam tajnim kljuem klijenta.Potpis se ugraujeu header deo poruke.

    Generiese kljusesije i njime se ifrujeporuka. U naimprimerima uvekemoifrovatisamo sadrajporuke tj. body deo. KoristiemoTripleDES ili AES simetrini

    algoritam ifrovanja. Klju sesije se ifruje javnim kljuem servera, npr. RSA algoritmom, i ugrauje u

    header poruke. U header deo poruke se ubacuje timestamp. Ako elimo da potpisujemo timestamp

    onda se on ubaci u poruku pre potpisivanja. Ovako zatiena poruka alje se serveru. Na serverskoj strani deifruje se klju sesije tajnim kljuem servera i zatim deifruje

    sadraj poruke. Proverava se digitalni potpis tako to se deifruje potpis javnimkljuem klijenta i dobije he vrednost koja se poredi sa ponovo sraunatim he-om.Proverava se timestamp.

    Priprema se odgovor na isti nain kao to je to radio kljient i alje. Klijent proverava poruku koja je stigla.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    35/42

    Zatita SOAP poruka (WS-Security)Implementacija

    Apache CXF implementira WSS4J API.

    WSS4J je Javina biblioteka za koja se koristi za zatituSOAP poruka.

    Za zatituporuka i dodavanje svih potrebnih informacija uheader deo SOAP poruke koriste se WSS4J interceptor-i.

    Konfiguracija interceptora moeda se radi programski ilikroz Spring.

    Mogu se primeniti dva koncepta:1. Autentikacija slanjem korisnikogimena i ire(UsernameToken, za

    testiranje)

    2. Obostrano digitalno potpisivanje i ifrovanjeSOAP poruka

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    36/42

    Zatita SOAP poruka (WS-Security)Implementacija

    Pre konfiguracije interceptora potrebno je generisati parove javni/tajniklju.

    Koristi se Javin keytool alat (sastavni deo JDK-a).

    Potrebno je generisati parove javni/tajni klju, eksportovati javni kljuu sertifikat i instalirati ga na klijentskoj-serverskoj strani.

    Korieni samopotpisani sertifikati.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    37/42

    Zatita SOAP poruka (WS-Security)Implementacija

    Konfiguracija interceptor-a za klijenta kroz Spring.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    38/42

    Zatita SOAP poruka (WS-Security)Testiranje

    2010-02-23T11:05:38.206Z2010-02-23T11:10:38.206Z

    CN=SheraServis OU\=RCMaster O\=RCL\=Beograd S\=Srbija C\=RS

    1266851056

    XfXpV22miVm6cuhqDLhKZx7LLWEM4bRWCjjA3lHE68/IeNfe3c/4ckLrXuZESLYS2wJfJGQ2JzCblfKvKax6tyfg/JasJVNh8TWb4fPOE8eaKe1pS9ZWKDOBa+vUL26rvp7dvovbrFhilSGnwAZm9d9VpMmSgLsg3MhdHVeWAr0=

    i2HBEgaW40flpW9OPEFrsX7esUk=

    nA7YMNO3Hyp4g6s5K2SeEUPhjmWXeuEmJ7RBRCL8+t8I3tptlPZu1e0Jw3SqK2kYBM3hzIUcmJP8Bma6F6oPJ6IqzVTgg+H5jKYDg3dzXtNwbP0scDNCgc1wdxQTsMUtmnao3Nc0UXh1DcJTqWgIWFSqw+mFwuWX18E7Q7GC7K0=

    CN=Shera OU\=RCMaster O\=RCL\=Beograd S\=Srbija C\=RS

    1266849905

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    39/42

    Zatita SOAP poruka (WS-Security)Testiranje

    gtDLJOUZ3QK9KZomIF6E/3rWzUam0eouBpAt5mE7FEOmcmjPMTczvr63lUYhkK4gxn6+HuSMLcXMw7B5VOPvEfCKoabbB9yidNz7dTEQWKkOKZKwFG1fMg6nqR9DYSfgxsB26KE2mOBk+6YVB3Ltz/RZmTBMjh6gSA/gI7AMVoIlWIT9KSmHnHx1K63gNgkaKHcupBgK8Wm6BjD8XY7CZFzIxH7h43tRBJP8M06FGSpEVhya3vSNTBqme2kVanmx/EKSR7GJQS14FpK43TGx48NhlDg8WQbs8TUG8YzswTDY/IhiADNVoeXZg1GeBJFd4Nw3ThFsLtxxtqLXi/WxHX+DqcM2cD55CbCtWQaD6ahLa6DNR+5R6J8K2wx4O7r2kZeX9kfOjsK/SlPmr6Uxsg==

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    40/42

    3.Interoperabilnost sa C#

    Testovi bez zatite. Klijenske aplikacije Windows Forms

    Automatsko generisanje klasa na dva naina:1. wsdl.exe alat (.net 1.1 pa nadalje) Automatski se poziva dodavanjem Web Service Reference

    2. svcutil.exe (.net 3.0) Automatski se poziva dodavanjem Service reference

    Generie se proxy klasa za slanje zahteva. Generisane SOAP poruke potpuno razumljive Java serveru i C# klijentu.

    Rezultati testova performansi kada je klijent dobijen pomou svcutil.exe.

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    41/42

    Interoperabilnost sa C# - Zatita podataka

    Zatita SOAP poruka reena pomou dve tehnologije:1. WSE 3.0 (Web Service Enhacement)

    2. WCF (Windows Communication Foundation), podrazumevano kada se koristi svcutil.exe

    Za generisanje parova javni tajni klju makecert alat.

    Konfiguracija potpuno deklarativna, kroz XML.

    Obe tehnologije nude vizuelne editore za konfiguraciju.

    Potrebno dosta vremena da se usklade Java C# standardi, naroitozbog nedostatka literature.

    Npr. WCF nudi vie klasa za WS-Security mod ali se koristi SOAP 1.2protokol.

    Java servisi implementirani pomou CXF su fleksibilniji (npr. kodpodrazumevanog potpisivanja.)

    ta ako se uvede i npr. PHP klijent?

  • 7/21/2019 IR4PIA Lekcija7 Realizacija Web Servisa

    42/42

    Dodatni testovi

    Definisane nove usluge Web servisa kroz WSDL fajl. Testirano prenoenje datetime podataka, null vrednosti...