1 / 28

Seminarski rad : Pregled Java Web Servisa

Seminarski rad : Pregled Java Web Servisa. S tudent : Stefan D želadinović 12876 P redmetni profesor : prof . Dr. Milorad To šić. Pregled Java Web servisa. Primer aplikacije za obradu narudžbina kupaca u SOA arhitekturi JWS i SOA

aurora-witt
Download Presentation

Seminarski rad : Pregled Java Web Servisa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminarskirad: Pregled Java Web Servisa Student: Stefan Dželadinović 12876 Predmetni profesor: prof. Dr. Milorad Tošić

  2. Pregled Java Web servisa • Primer aplikacije za obradu narudžbina kupaca u SOA arhitekturi • JWS i SOA • Server-side deployment i Invocation (poziv) web servisa • Client-side invocation web servisa • Pregledtehnikazaolakšanuimplementaciju Web servisa • Standarno WSDL/Java mapiranje • Razvojnimodeli • JAX-WS 2.0 • Invocation prekoXML-a • Handler framework • Kontekstporuke

  3. Pregled Java Web servisa • Asinronipozivi • WSDL stilovi • Prosleđivanjepseudoreference • JAXB 2.0 Prednostii mane načinaimplementacije • Povezivanje XML šemena Java reprezentacije • Mapiranje Java tipova u XML šemu • Mapping anotacije • Binding Run-time framework • Početakod WSDL-a iJave • Ostalekomponente

  4. Primer aplikacije za obradu narudžbina kupaca u SOA arhitekturi Pregled Java Web servisa • Order managment aplikacija se nalazi na slici je označena kao " SOA Composite App " da naglasi da je konstruisana kao kompozicija servisa. • Poslovni procesi mogu se razložiti na niz usluga, svaka odgovorna za izvršavanje dela procesa. Order Managment Business Process • 1 .Kupac šalje porudžbinu koja sadrži, zajedno sa ostalim informacijama , poštanski broj i spisak stavki - proizvoda i količine. • 2 .Poštanski broj i spisak naručenih stavki su prosleđeni sistemu za obradu naružbine . On proverava elemente kupovine kako bi se utvrdilo da li ona pokriva sve stavke koje su naručene i koji su uslovi plaćanja obavezni. • 3 .Ako PO pokriva red artikla, onda sistem vraća odobrenja i opis potrebnih uslova plaćanja

  5. Primer aplikacije za obradu narudžbina kupaca u SOA arhitekturi Pregled Java Web servisa • 4 .Dalje , naručena lista artikala je prosleđena zalihama sistema menadžmenta, Inventory Management System da se utvrdi da li su na lageru i šta su verovatni rokovi isporuke. • 5 .Ova informacija – raspoloživost artikla- se vraća • 6 .Na kraju, odgovor u vidu poruke se šalje nazad klijentu - potvrde porudžbine the Order Confirmation – sa detaljima uslova plaćanja i datumima isporuke predviđene za stavke. Order Management System, se sastoji od kompozicije Purchase Order Service-a i Inventory Management Service-a. On procesira dolaznu narudžbinu pozivanjem prvo Purchase Order Service-a, a zatim Inventory Management Service-a, i kombinovanjeminformacija dobijenih od tih servisa kreirapotvrde porudžbine (Order Confirmation) . .

  6. SOA kompozitna aplikacija za informacioni sistem naručivanja Pregled Java Web servisa

  7. JWS i SOA Pregled Java Web servisa • Web servis standardi obezbeđuju strukture za koje je potrebno definisati potrebne interfejse • Web servisi pružaju skup interfejsa i standarda za razmenu poruka koji olakšavaju izgradnju SOA aplikacija na platformno neutralan način • Web servisi pružaju dva ključna sastojaka neophodna za razvoj preko SOA-a: Interface definition jezik (WSDL) i Messaging standard (SOAP) • osnovni Web Servis framework ( npr. , WSDL SOAP / HTTP ) ikoristi se za SOA razvojaplikacija

  8. Pregled Java Web ServisaJWS I SOA • Primer upotrebe u Java EE 5 Web Servisu JSR server side role • JWS definiše port component kaoserveskipogledna web servis.Onmožebitiupakovankao WAR ili EJB JAR. • Endpoint podržava HTTP GET zahtevza WSDL-omkojiopisuje Web uslugu. Strukturaovog WSDL je određena JAX – WS-om WSDL / Java mapiranjem • Pozivanjeraspoređenog Web servisa je iniciransaprijemom SOAP zahteva, preko HTTP POST u endpoint-u • Web servis je endpoint koji se običnoimplementiraprekoservletskeklasekojaosluškuje endpoint URL navedentokomisporuke • Korak 5 pokazujeda je SOAP zahtevpostaoskup XML - parametarainstanci XML šemakomponentinavedenihkaoparametri u WSDL-u.

  9. Pregled Java Web servisaJWS I SOA 6. Dalje, XML parametri se deserijalizuju u Java parametre. Ovudeserijalizacijuobavlja JAXB runtime. 7. Kadasuparametrikreirani, gađana Java klasailimetod se poziva . U WSPA , to je odgovornost Invocation podsistema. 8. Poslepoziva, koraci u ovomprocesuidu u obrnutomsmeru. Klasakojapredstavlja Java povratni tip se šaljena JAXB serijalizacijukako bi postalainstanca XML povratnogtipa. 9. Dalje , JAX - WS runtime uzima XML- povratni tip iobavijaga (wrappuje) u SOAP odgovor. 10. .Na kraju, SOAP odgovor je ponovoposlatpodnosiocuzahteva , kaosadžaj HTTP odgovora.

  10. Pregled Java Web servisaJWS I SOAServer side role u JAVA EE 5

  11. Pregled Java Web servisaJWS I SOA • Primer uportrebe u JAVA EE 5 client side role • kreiranjeinterfejsakrajnjetačkeusluge ( SEI) pomoću WSDL preko Java alatazamapiranje. SEI obezbeđuje Java reprezentaciju Web uslugekojutrebapozvati. • ,instanca JAX - WS javax.xml.ws.Serviceklase se koristidapružipogledklijentana Web uslugukojutrebapozvati. JedanodmetodaService.getPort se koristizadobijanje run-time instance SEI generisane u prethodnomkoraku. Instanca proxy-jaimplementira SEI. • pozivjednogod SEI- metodapreko proxy-ja. Parametriprosleđeni SEI metodisu instance klasekoje se generišutokomkreiranja SEI-a ( korak 1) . • . Nakonobraderukovaoca, SOAP zahtevporuka se šalje Web servisui SOAP odgovor se vraća . SOAP odgovor je obrađen u obrnutomredosledu. • Proxy instancavraća JAXB instancukaopovratnuvrednost

  12. Pregled Java Web servisaJWS I SOA Client side role u JAVA EE 5, Java Web Servisa JSR

  13. Pregled Java Web ServisaPregledtehnikazaolakšanuimplementaciju Web servisaStandarnoWSDL/Java mapiranje • JAX - WS definišestandardnomapiranje WSDL do / odJave. • Default podrazumevanomapiranjesvakakoolakšava Java programeru, koji ne morada se razumemnogo o WSDL-u ili XML-u, da bi kreirao Web servis.. • Standardnomapiranje, uprkosograničenjima, omogućavada se lakoisporuče Java klasekao Web servisi. • On takođeomogućavaautomatskogenerisanjeinterfejsaservisakrajnjetačke (SEIS).

  14. Pregled Java Web ServisaPregledtehnikazaolakšanuimplementaciju Web servisaRazvojnimodeli • KreniodJave " razvojmodu . " KreniodJave " pretpostavljadakreirate Web uslugutakoštoćetezapočetisarazvojem Java klasa . U stvari , sveštotrebadauraditejestedaisporučitetuklasukao Web servis, najglavnijideo, jestedagaobeležitesa @ Web-servis . JAX -WS i JAXB run-time engine ćemapiratituklasu u WSDL dokumentpomoćustandardnog WSDL / Javui XML / Java mapiranja. • Kreniod WSDL iJave " Razvojnimod ovakavpristupće se pokazatinezgodnimzavećinuprogramerajerzahtevada se intimnoupoznate u kojojmerianotacijeobliku WSDL deployment problem postajestvarmapiranja WSDL strukture u Java metodeiparametrepostojećihklasarazvojnirežim je zapravonajlakši, jerkadasu WSDL i Java definisani , programer ne moradauradibilokakavdizajn. Programer ne moradadizajnirafleksibilanikoristan WSDL ilidobar Java API.

  15. Pregled Java Web ServisaPregledtehnikazaolakšanuimplementaciju Web servisa JAX-WS 2.0 • JAX - WS 2.0 precizirapozivanjepodsistema JWS , deo deployment podsistema, pa čakimaloserijalizacijskogpodsistema. • JAX -WS specifikacija 2.0 [ JSR 224 ] definiše standard Java / WSDL mapiranja • Onaodređujekako se WSDL operacijepovezujusa Java metodama - drugimrečima , kada SOAP porukapozove WSDL operacije, Java/WSDL mapiranjeodređujekoji Java metod se pozivaikako je SOAP porukamapirana u parametremetoda. • JAX-WS koristi WSDL interface definition jezik (IDL) izkojegsu Java klasegenerisane.Idinamičkiistatičkigenerisanainstancaservisamožedakreira proxy zapozivanje Web servisakoristećiservisendopointintefejsa ( SEI )

  16. Pregled Java Web ServisaPregledtehnikazaolakšanuimplementaciju Web servisa Invocation preko XML-a • Kao alternativazapoziv Web servisapreko Java proxy-ja, moguće je koristitiinstancuservisaslanjemiprimanjem XML poruka. • Ovomožebitikorisnaopcijakadaželitedapremostite JAXB serijalizaciju. • To vamomogućavadakonstruišesvojuvlastitu SOAP porukuipošaljite je direktno Web servisu . • Takođe, omogućavavamdakomuniciratesa Web servisomdirektnopreko XML-a bezpotrebe Java prevođenja. • Često, kod Web service programiranja, raddirektnosa XML je najprirodnijinačinda se stvariurade.

  17. Pregled Java Web ServisaPregledtehnikazaolakšanuimplementaciju Web servisa Handler framework • JAX - WS definišezahteviodgovorhendlerekoji se mogukoristitiinastraniklijentaiservera. • hendlermožeda se koristiu pre ipost- procesiranjuporuke • Organizovanisuu uređenimlistamapoznatimkao handler lanciipozivaju se poredu. • Handler lancisudefinisaninanivouporta - pa svemetodedefinisane u SEI-u morajudakoristeistilanac • imamodvatipahendlera : logičkei protocol hendlere • Logički se baveobradom XML porukei ne zaviseod binding protokola. Protokolhendleri, sadrugestrane, suprojektovanizaprocesiranjekoje se odnosinaprotokolvezivanja (na primer, SOAP)

  18. Pregled Java Web ServisaPregledtehnikazaolakšanuimplementaciju Web servisa • Kontekstporuke • JAX - WS omogućavahendlerima , krajnjimtačkama , kaoiklijentimadamanipulišukontekstомporuke • Omogućava komunikacijuizmeđuhendlerakojiobrađujuzahteve , endpoint implementacije , ihendlerakojiobrađujuodgovor • možeda se koristidaolakšainicijalizaciјuprotokolorijentisanihhendlera • Asinhroni pozivi • JAX - WS podržavadvamodelazaasinhronezahtev - odgovorporuke: prozivka (poling) ipovratak (callback) . Prozivkaomogućavaklijentskomkodudaneprestanoispitujedali je stigaoodgovor. Alternativno, za callback pristupdefinišemorukovaocakojiobrađujeodgovorasinhronokada je dostupan

  19. Pregled Java Web ServisaPregledtehnikazaolakšanuimplementaciju Web servisa • WSDL stilovi • Na osnovustila WSDL koji se korsiti , JAX - WS definišedva bean-a, zasvakimetod: zahtev bean i bean odgovora. • Prosleđivanje pseudoreference • Poziv Java metodeprenoseobjekatpovrednosti. Web servisi ne radenaovajnačin. • JAX - WS 2.0 implementira ovaj mehanizam pomoćuHolderclass-e.Holder klasačuva reference naobjekatkoji se menja. Tokompoziva Web servisa , JAX - WS šaljekopijuobjekta do cilja , idobijanazadizmenjenuverziju. “Ispodhaube” , JAX – WS vršiažuriranje instance takodaonasadareferenciranaizmenjenuinstancuprimljenusamreže.

  20. JAXB 2.0 Prednosti i mane Pregled Java Web servisa • Cilj JAXB 2.0 je daobezbedivišinivoapstrakcijeod Java-ineimplementacije SAX-a, DOM-a , XPath-a , idrugihpristupazamanipulaciju XML-a u programskomjeziku Java . Povezivanje je mehanizamkojiudružujeskup Java klasasa XML šemom , takoda se instancama XML šemamanipulišekoristeći Java metode. • Postoje 2 prilaza: • PočetakizJave: U ovomscenariju , Java klasapostojiprvaikoristi se zagenerisanje XML šemepreko JAXB 2.0 generatorašeme. Klasama se ne morajueksplicitnododatianotacije , jer JAXB 2.0 to radipo default-u automatskigde je potrebno. • Početakiz XML šeme : U ovomslučaju , šemapostojiprvai Java klase se kreirajukorišćenjem JAXB 2.0 schema kompajlera.

  21. Pregled Java Web servisaJAXB 2.0 Prednosti i manePovezivanje XML šeme na Java reprezentacije • Svaka value klasaobezbeđujepristupsadržajusvojihodgovarajućihkomponentišemepomoću GET / SET property-ja.. • Elementiiatributikompleksnogtipasumapiranena property-je Java value klasa. • Površinskekarakteristike value klasa (na primer , imena bean property-ja ) se moguprilagoditipomoću JAXB Binding jezika. Sledećiprimer ilustrujeprelazaksa XML šemekomponentina Java property-je: <xs:element name="phone"> <xs:complexType> <xs:attribute name="area" type="xs:string"/> <xs:attribute name="localnum" type="xs:string"/> </xs:complexType> </xs:element> String getPhone(); // vraca area+"-"+localnum void setPhone(String s); // gde je s = area+"-"+localnum

  22. Pregled Java Web servisaJAXB 2.0 Prednosti i mane • Mapiranje Java tipova u XML šemu • JAXB 2.0 Java / XML binding takođeobezbeđujestandardnomapiranjeiz Java klase u XML šemu. JAX - WS 2.0 koristiovumapuzagenerisanjeWSDL-a iz Java klaseraspoređenkaoWeb servis.Ovaj" Počniteiz Java " ( SFJ ) pristup uWeb Servisima je primarnislučajkorišćenjaopisanogmapiranja. • Mapping anotacije (komentari, dodaci) • zaprilagođavanje JAXB 2.0 standardnog Java / XML binding-a. Generator šemezahtevazapravodvaulaza : skupklasai set anotacijazamapiranje. Generator šemepretpostavljapodrazumevanevrednostizasve. • Jedanodciljeva JWS-aje daselakoizgradiWeb servisod Java klase . • Anotacijeomogućuju Java programerimadaodrede tip mapiranjaserijalizacijskimehanizam u jednomjeziku, • Na primer , jednoočiglednoograničenjesakomentarima je da vas oniprimoravajudausvojitejedan - na - jedankorespondencijuizmeđukomponentišemei Java klasa .

  23. Pregled Java Web servisaJAXB 2.0 Prednosti i mane • Binding Run-time framework • Sledećikoracipokazujukako binding Run - time framework interfejssa JAX – WS-om 2.0 poziva Web servisraspoređen u JWS - kompatibilnojaplikaciji : 1.JWS aplikacija prima SOAP poruku u odgovarajućojkrajnjojtački. 2.Na osnovukonfiguracije SOAP- vezivanja ( javax.xml.ws.soapSOAPBinding . ) zakrajnjutačku , JAX-WS pripremainstancuporukekonteksta ( javax.xml.ws.handler.soap.SOAPMessageContext) 3.JAXB se možetražitidaobezbedi MTOM/XSOP obrade u ciljustvaranja SAAJ predstavljanjaporuke. 4 .JAX - WS pozivahendlere. 5 .Nakonštoposaoobaverukovaocizahteva, JAXB Runtime deserijalizuje SOAP porukusadržaja u request bean 6 .Request bean, koji je izgradila JAXB runtime , sadrži Java objektekojisuprosleđenikaoparametri Java metodukojiimplementira Web uslugu. JAX - WS pozivametodepomoćuovihparametara

  24. Pregled Java Web servisaJAXB 2.0 Prednosti i mane • Binding Run-time framework 7 .JAX - WS predaje Java objekatkoji je vraćenpozivommetodaikoristigazakreiranje instance response bean-a. 8 .JAXB serijalizuje response bean . 9 .Kao u koraku 2 , naosnovu binding SOAP konfiguracijekrajnjetačke, JAX - WS ažuriraporuku u kontekstudauključi SAAJ predstavljanjeodgovora . Ovo je SAAJ interfejsnavrhu response bean-a. 10 .JAX - WS pozivahendlereodgovora . 11 .Pre slanjaodgovora, JAX - WS poziva JAXB nauzvršenjejerpotrebnoda se obezbedi MTOM obradaporuke . 12 .JAX - WS predajeporukuprotokoluza transport.

  25. Pregled Java Web ServisaJAXB 2.0 Prednosti i maneSerijalizacija u JWS-u (Java Web Start) odmrežnog saobraćaja do Web servisa

  26. Pregled Java Web servisaJAXB 2.0 Prednosti i mane • Početak od WSDL i Jave • “ PočetakodWSDL-a iJave " razvoj je podržanpomoćuanotacijazamapiranjeizmeđu Java interfejsaistrukture WSDL dokumenta . • "Počniteod WSDL-a iJave " moradaobezbedipovratneinformacijekojepokazujukada Web servisimplementacijaodstupaod WSDL ugovora. • Ostale komponente • Port komponentaje onošto je upakovanoiraspoređeno u kontejneruzaimplementaciju Web servisa. • ServletEndpoint WSEE 1.2 precizirada POJO (Plain Old Java Object) , dokle god ispunjavauslov u WS-metadata za SIB , može se koristitizaimplementaciju Web servisaraspoređenih u Web kontejneru.

  27. Pregled Java Web servisaJAXB 2.0 Prednosti i mane • EJB EndpointWSEE 1.2 precizirada se stateless session bean možekoristitizaimplementaciju Web servisa • Dependency injectionJava EE 5 uvodi Dependency injection mehanizmekojipojednostavljujuprocesinstanciranjakonteksta u okvirurazličitihkontejnera . Ona se koristidapreuzme reference resursa (na primer , vezesabazompodataka ) ilidrugihobjekata • Interceptor (Presretač)je metodkojipresrećeprizivanjenekogdrugogmetoda . Ovo je Java EE 5 sprovođenjeaspektaorijentisanoprogramiranje ( AOP ) presretačkoncept . Presretačiolakšavajudodavanjedodatnihuslugametodamakadasuraspoređenekao Web servisi .Validacija , kaošto je opisanoranije , jedan je odprimera . Drugi je sigurnost . Moždaćeteželetidaograničitepristupindividualnommetodaprema WSDL :

  28. Za više informacija o temi:

More Related