Top 70 Web Services Interview Questions & Odpovědi

Anonim

Stáhnout PDF

1) Definovat webovou službu?

Webová služba je druh softwaru, který je přístupný na internetu. Využívá systém zasílání zpráv XML a nabízí snadno pochopitelné rozhraní pro koncové uživatele.

2) Co je nového v této oblasti za posledních několik let?

Zahájení XML v tomto poli je pokrok, který poskytuje webové službě jediný jazyk pro komunikaci mezi RPC, webovými službami a jejich adresáři.

3) Uveďte příklad skutečné webové služby?

Jedním příkladem webových služeb je prohlížeč webových služeb IBM. Můžete jej získat na webu IBM Alphaworks. Tento prohlížeč zobrazuje různé ukázky související s webovými službami. V zásadě lze webové služby používat pomocí SOAP, WSDL a UDDI. To vše poskytuje rozhraní typu plug-and-play pro používání webových služeb, jako je služba cenových nabídek, služba dopravních zpráv, meteorologická služba atd.

4) Jak definujete zásobník protokolu webových služeb?

Je to v podstatě sada různých protokolů, které lze použít k prozkoumání a spuštění webových služeb. Celý zásobník má čtyři vrstvy, tj. Transport služeb, Zprávy XML, Popis služby a Vyhledání služby.

5) Můžete definovat každou z těchto vrstev zásobníku protokolu?

Vrstva Service Transport přenáší zprávy mezi různými aplikacemi, jako jsou HTTP, SMTP, FTP a Blocks Extensible Exchange Protocol (BEEP). Vrstva pro zasílání zpráv XML kóduje zprávy ve formátu XML, aby jim bylo možné rozumět na každém konci, například XML-RPC a SOAP. Vrstva Popis služby popisuje uživatelské rozhraní webové služby, například WSDL. Vrstva zjišťování služeb centralizuje služby do společného registru a nabízí jednoduché funkce publikování, například UDDI.

6) Definovat XML - RPC?

Jedná se o protokol, který k provádění vzdálených volání procedur využívá zprávy XML.

7) Definovat SOAP?

SOAP je protokol založený na XML pro přenos mezi počítači.

8) Definovat WSDL?

Znamená to jazyk popisu webových služeb. Je to v podstatě vrstva popisu služby ve skladu protokolu webové služby. Vrstva Popis služby popisuje uživatelské rozhraní webové služby.

9) Jaký druh zabezpečení je zapotřebí pro webové služby?

Úroveň zabezpečení webových služeb by měla být vyšší než úroveň zabezpečení, kterou říkáme Secure Socket Layer (SSL). Této úrovně zabezpečení lze dosáhnout pouze z platformy Entrust Secure Transaction Platform. Webové služby potřebují tuto úroveň zabezpečení, aby zajistily spolehlivé transakce a zabezpečily důvěrné informace.

10) Máte představu o bezpečnostních službách nadace?

Jak vyplývá z názvu, tyto služby jsou základem nebo základem procesů integrace, autentizace, autorizace, digitálních podpisů a šifrování.

11) Definovat službu důvěryhodné identifikace?

Entrust Identification Service pochází z platformy Entrust Security Transaction Platform. Tato platforma umožňuje společnostem řídit identity, kterým důvěřují při provádění transakcí pro transakce webových služeb.

12) Co znamená UDDI?

UDDI znamená Universal, Description, Discovery a Integration. Je to vrstva zjišťování v zásobníku protokolu webových služeb.

13) Definovat službu Entrust Entitlements?

Tato služba ověřuje entity, které se pokoušejí získat přístup k webové službě. Například služba ověřování, služba oprávnění zajišťuje bezpečnost v obchodních operacích.

14) Definovat službu důvěryhodnosti ochrany osobních údajů?

Jak název napovídá, zabývá se bezpečností a důvěrností. Tato služba šifruje data, aby zajistila, že k datům budou mít přístup pouze zúčastněné strany.

15) Co myslíte PKI?

Znamená to infrastrukturu veřejného klíče.

16) Jaké nástroje se používají k testování webové služby?

Použil jsem SoapUI pro SOAP WS a plugin pro plakát Firefox pro RESTFul Services.

17) Rozlišovat mezi SOA a webovou službou?

SOA je design a architektura pro implementaci dalších služeb. SOA lze snadno implementovat pomocí různých protokolů, jako jsou HTTP, HTTPS, JMS, SMTP, RMI, IIOP, RPC atd. Zatímco webová služba je sama o sobě implementovanou technologií. Ve skutečnosti lze implementovat SOA pomocí webové služby.

18) Diskutujte o různých přístupech k vývoji webové služby založené na protokolu SOAP?

Můžeme vyvinout webovou službu založenou na SOAP se dvěma různými typy přístupů, jako je smlouva první a smlouva poslední. V prvním přístupu je nejprve definována smlouva a poté jsou třídy odvozeny ze smlouvy, zatímco v pozdějším jsou třídy definovány jako první a poté je z těchto tříd odvozena smlouva.

19) Pokud si musíte zvolit jeden přístup, jaká bude vaše volba?

Podle mého názoru je první přístup, který je přístupem na základě smlouvy, proveditelnější ve srovnání s druhým přístupem, ale stále záleží také na dalších faktorech.

20) Je pro přístup k webové službě vyžadována nějaká speciální aplikace?

Ne, pro přístup k webové službě nemusíte instalovat žádnou speciální aplikaci. K webové službě můžete přistupovat z jakékoli aplikace, která podporuje požadavek a odpověď na objekt založený na XML.

21) Můžete jmenovat několik bezplatných a komerčních implementací pro webové služby?

Implementace, které znám, jsou Apache SOAP, JAX-WS Reference Implementation, JAX-RS Reference Implementation, Metro, Apache CXF, MS.NET a Java 6.

22) Název prohlížeče, který umožňuje přístup k webové službě?

Objekt JavaScript XmlHttpRequest je vyžadován pro přístup k webové službě prostřednictvím prohlížečů. Prohlížeče, které tento objekt podporují, jsou prohlížeče Internet Explorer, Safari a Mozilla, jako je FireFox.

23) Co je REST?

REST je zkratka pro Reprezentativní přenos státu. Samotný REST není standardem, přestože používá různé standardy, jako jsou HTTP, URL, XML / HTML / GIF / JPEG.webp (reprezentace zdrojů) a text / xml, text / html, obrázek / gif, obrázek / jpeg.webp atd. (Typy MIME ).

24) Jak lze uživatelům poskytnout API?

Chcete-li uživatelům poskytnout API, můžete to snadno udělat pomocí „otevřené tabulky“. Vše, co musíte udělat, je napsat otevřenou tabulku, což je v podstatě schéma XML, které ukazuje na webovou službu.

25) Pojmenujte různé komunikační kanály ve webové službě?

Webová služba je integrována se třemi protokoly, jako jsou HTTP / POST, HTTP / GET a SOAP. Poskytuje klientům tři různé komunikační kanály. Klient si může zvolit libovolnou metodu komunikace podle požadavků.

26) Jak můžete dokumentovat webovou službu?

Webové služby jsou považovány za samodokumentující, protože poskytují veškeré informace týkající se dostupných metod a parametrů používaných pro standard založený na XML, známý jako WSDL. Lze také poskytnout více informací k vysvětlení webových služeb prostřednictvím vlastních atributů WebService a WebMethod.

27) Jaké jsou situace, když potřebujeme webové služby ASP.NET?

Webové služby ASP.NET se používají, když je potřeba implementovat třívrstvou architekturu ve webové službě. Umožňuje praktické způsoby použití komponent střední úrovně prostřednictvím internetu. Hlavní výhodou webových služeb .NET je, že jsou dostatečně schopné komunikovat přes brány firewall, protože používají SOAP jako transportní protokol.

28) Co jsou distribuované technologie?

Rostoucí poměr distribuovaných aplikací zvýšil poptávku po distribuovaných technologiích. Umožňuje segmentaci aplikačních jednotek a jejich přenos do různých počítačů v různých sítích.

29) Rozlišovat mezi webovými službami, CORBA a DCOM?

Webové služby přenášejí / přijímají zprávy do / z aplikace prostřednictvím protokolu HTTP. Ke kódování dat používá XML.

CORBA a DCOM přenášejí / přijímají zprávy do / z aplikace prostřednictvím nestandardních protokolů, jako jsou IIOP a RPC.

30) Můžete říci několik výhod webových služeb?

Největší výhodou webové služby je, že je podporována širokou škálou platforem. Navíc v blízké budoucnosti mohou webové služby rozšířit své hranice a vylepšit nové metody, které klientům usnadní. Vylepšení neovlivní klienty, i když nabízejí staré metody a parametry.

31) Můžete jmenovat některé standardy používané ve webových službách?

Standardy používané ve webových službách jsou WSDL (slouží k vytvoření definice rozhraní), SOAP (slouží ke strukturování dat), HTTP (komunikační kanály), DISCO (slouží k vytváření dokumentů zjišťování) a UDDI (slouží k vytváření obchodních registrů).

32) Vysvětlete ve zkratce, co je to DISCO?

DISCO znamená objev. Seskupuje seznam vzájemně souvisejících webových služeb. Organizace, která poskytuje webové služby, vydá na svém serveru soubor DISCO a tento soubor obsahuje odkazy na všechny poskytované webové služby. Tento standard je dobrý, když klient již společnost zná. Lze jej také použít v místní síti.

33) Stručně vysvětlete, co je UDDI?

UDDI (Universal Description, Discovery a Integration) poskytuje konsolidovaný adresář pro webové služby na internetu. Klienti používají UDDI k vyhledání webových služeb podle svých obchodních potřeb. V podstatě hostuje webové služby od různých společností. Chcete-li sdílet webové služby, musíte je publikovat v UDDI.

34) Vysvětlete datové typy podporované webovými službami .NET?

Webové služby .Net používají k přenosu / přijímání informací standardy založené na XML. Webové služby .NET tedy mohou fungovat pouze s datovými typy známými standardem schématu XML. Stejně jako FileSteam, Eventlog atd. Nejsou standardy schématu XML rozpoznány, a proto nejsou podporovány ve webových službách.

35) Jak se testuje webová služba .NET?

Technologie ASP.NET rutinně používá testovací stránku, když v libovolném prohlížeči volá URL souboru .asmx. Tato stránka zobrazuje úplné informace o webových službách.

36) Jak se spotřebovává webová služba .NET?

Protože víme, že webové služby jsou postaveny na standardech XML. Proto klienti potřebují mít úplné znalosti o zprávách založených na XML, aby mohli zprávy vyměňovat. Klienti mohou komunikovat s webovými službami prostřednictvím rozhraní .NET framework, které nabízí mechanismy proxy. Tyto mechanismy proxy obsahují podrobné informace týkající se sdílení dat v rámci webových služeb, které mohou klienti snadno použít.

37) Můžete pojmenovat dvě řešení společnosti Microsoft pro distribuované aplikace?

Dvě řešení společnosti Microsoft pro distribuované aplikace jsou .NET Web Services a .NET Remoting.

38) Rozlišovat mezi .NET Web Services a .NET Remoting?

Pokud jde o protokol, .NET Web Service používá HTTP, zatímco .NET Remoting používá jakýkoli protokol, tj. TCP / HTTP / SMTP. Pokud jde o výkon, .NET Remoting je poměrně rychlejší než webová služba .NET. Protože jsou webové služby .NET hostovány prostřednictvím služby IIS, je mnohem spolehlivější než .NET Remoting.

39) Pojmenovat komponenty, které mají být zveřejněny při zavádění webové služby?

Komponenty, které je třeba publikovat během nasazení webové služby, jsou Web Application Directory, Webservice.asmx File, Webservice.Disco File, Web.Config File a Bin Directory.

40) Jaké jsou kroky, které klient provádí pro přístup k webové službě?

Nejprve vytvoří webový odkaz na webovou službu klient ve své aplikaci. Potom se vygeneruje třída proxy. Poté se vytvoří objekt třídy proxy a nakonec se k webové službě přistupuje prostřednictvím tohoto objektu proxy.

41) Jak jsou webové služby implementovány v .NET?

K implementaci webových služeb v .NET se používají obslužné rutiny HTTP, které přerušují požadavky na soubory .asmx.

42) Vysvětlete několik nevýhod ukládání odpovědí do mezipaměti?

Ukládání do mezipaměti odpovědí je zbytečné nebo nekompetentní, když metoda přijímá velké množství hodnot, protože ukládání do mezipaměti znamená ukládání velkého množství informací. Také pokud metoda závisí na externím zdroji informací a které nejsou poskytovány v rámci parametrů, jsou tyto metody obcházeny.

43) Jaké je alternativní řešení pro ukládání odpovědí do mezipaměti?

Jeden může použít Data Caching (System.Web.Caching.Cach) namísto Response Caching.

44) Stručných několik nevýhod používání metod GET a POST ke komunikaci s webovou službou?

Tyto metody jsou méně bezpečné a brání uživatelům předávat struktury a objekty jako argumenty. Také to neumožňuje uživatelům předávat argumenty ByRef.

45) Jak lze přistupovat ke třídě jako webová služba?

Pro přístup ke třídě jako webová služba je třeba zdědit třídu ze třídy System.Web.Services.WebService a kvalifikovat třídu pomocí atributu WebService.

46) Jak lze přistupovat k metodě třídy webové služby přes internet?

Pro přístup k metodě třídy webové služby přes internet je třeba kvalifikovat metodu s atributem WebMethod.

47) Jak je strukturována zpráva SOAP?

Zpráva SOAP se skládá z obálky SOAP, záhlaví SOAP a těla SOAP.

48) Můžete pojmenovat různé druhy webových služeb?

Celkově existují dva typy webových služeb, tj. Webová služba založená na SOAP a webová služba RESTful.

Tato otázka je již zmíněna dříve.

49) Co se liší ve webových službách RESTful?

Webové služby RESTful neobsahují žádnou smlouvu ani soubor WSDL.

50) Uveďte několik důvodů, proč používat webovou službu RESTful?

Webové služby RESTFul se snadno implementují a testují. Podporuje různé datové formáty jako XML, JSON atd.

51) Vysvětlete, co jsou webové služby JAVA? Jaké jsou metody vytváření webových služeb?

Webové služby Java jsou vyvíjeny za účelem vytváření a nasazování základních webových služeb na platformě JAVA.

K vytvoření webové služby jsou přijaty dva přístupy

  • Přístup shora dolů
  • Doplňovací přístup

52) Vysvětlete, co je JAXP?

JAXP je JAVA API pro zpracování XML, které umožňuje aplikaci zapisovat, číst, manipulovat a transformovat data XML. Podobně k provádění dalších různých funkcí existují i ​​další Java API, jako JAX-RPC, JAXM, JAXR, JAXB atd.

53) Uveďte vazebný rámec JAXB?

Rámec vazby JAXB je k dispozici ve třech balíčcích Java

  • xml.bind: Tento balíček definuje abstraktní třídy a rozhraní, která se používají přímo s třídami obsahu
  • xml.bind.util: Tento balíček obsahuje třídy nástrojů, které mohou klientské aplikace využít ke správě událostí zařazování, oddělování a ověřování
  • xml.bind.helper: Tento pomocný balíček poskytuje částečné implementace pro některá rozhraní javax.xml.bind. Tyto API nemají být přímo používány aplikacemi používajícími architekturu JAXB

54) Uveďte jednoduchý příklad toho, jak mohou být XML dokumenty Marshal a Unmarshal v rámci JAVA?

Marshalling je proces převodu XML dokumentu do čitelné formy Java, zatímco UnMarshalling je opačný proces Marshallingu. Podívejme se, jak Java zruší zařazení dokumentu XML a poté jej zařadí zpět

JAXBContext jc = JAXBContext.newInstance ("com.acme.foo");

// unmarshal from foo.xml

Unmarshaller u = jc.createUnmarshaller ();

FooObject fooObj =

(FooObject) u.unmarshal (nový soubor ("foo.xml"));

// zařazování do sytem.out

Marshaller m = jc.createMarshaller ();

m.marshal (fooObj, System.out);

55) Vysvětlete, co dělá Marshaller, pokud není deklarována vlastnost jaxb.encoding?

Ve výchozím nastavení použije Marshaller „UTF-8“, pokud není deklarována vlastnost jaxb.encoding.

56) Uveďte, jaké typy ověření může klient JAXB provádět?

Existují dva typy ověření klienta JAXB, které JAXB může provádět

  • Unmarshal Time Validation
  • Ověření na vyžádání

57) Uveďte, jaké jsou tři způsoby, jak zvládnout událost, ke které došlo během zařazování, unmarshal a ověřování operací?

  • Pomocí výchozí obslužné rutiny událostí
  • Zaregistrujte a implementujte vlastní obslužnou rutinu události
  • Použijte obslužný program ValidationEventCollector

58) Vysvětlete, kde se nachází kompilátor JAXB?

Kompilátor vazby schématu JAXB je umístěn v adresáři / jaxb / bin. V tomto adresáři jsou dva skripty, xjc.sh (Solaris / Linux) a xjc.bat (Windows).

59) V jakých případech musíte upravit výchozí vazbu?

V některých případech se vyžaduje přizpůsobení výchozí vazby jako

  • Vytváření dokumentace API pro balíčky, třídy, metody a konstanty odvozené ze schématu JAXB
  • Poskytnutí sémanticky smysluplných přizpůsobených názvů pro případy, které výchozí mapování identifikátoru XML na název Java nedokáže automaticky zpracovat
  • Přepsání výchozí vazby podobné specifikaci, že skupina modelů by měla být připojena ke třídě spíše než k seznamu

60) Vysvětlete, co je vložené přizpůsobení?

Přizpůsobení vazeb JAXB provedené pomocí deklarací vložené vazby v souboru schématu XML, které mají formu prvků vložených do prvků schématu .

61) Vysvětlete, co je XML podpis?

XML lze použít k podpisu libovolných dat, ať už jde o binární nebo XML. Data jsou rozpoznávána prostřednictvím identifikátorů URI v jednom nebo více referenčních prvcích. Je popsána v jedné nebo více formách, jako je oddělená, obklopující nebo obklopená.

62) Vysvětlete, co je Stax?

Stax znamená Streaming API pro XML; je to API pro čtení a zápis dokumentů XML pocházející z programovacího jazyka JAVA.

63) Uveďte, jaké jsou obvyklé XML API?

Obvyklá XML API zahrnuje

  • Rozhraní API založená na modelu DOM nebo Tree: Celý dokument se načte do paměti jako stromová struktura pro náhodnou dostupnost voláním aplikace
  • Rozhraní API založená na událostech : Aplikace se registruje, aby získala události, protože se ve zdrojovém dokumentu vyskytují entity

64) Vysvětlete, co je Push analýza a Pull analýza?

  • Pull Parsing: Streaming pull parsing se označuje jako programovací model, ve kterém klientská aplikace volá metody v knihovně XML pro analýzu, když je potřeba komunikovat s infosetem XML - což znamená, že klient získá data XML pouze v případě, že je o to požádán
  • Analýza pomocí push: Při analýze pomocí push analyzátor odesílá do aplikace události analýzy nebo data XML. V nabízeném modelu analyzátor získal kontrolu nad procesem analýzy a analyzátor volá implementované metody obslužné rutiny.

65) Vysvětlete, na jaké technologii je zabezpečení XWS založeno? Seznam možností, které poskytuje zabezpečení XWS pro zabezpečení aplikací JAX-RPC?

Zabezpečení XWS je založeno na zabezpečení webových služeb postavených na JAX-RPC a na samostatné aplikaci založené na SAAJ. Pro zabezpečení aplikace JAX-RPC jsou možnosti, které poskytuje zabezpečení XWS

  • Digitální podpis XML
  • Šifrování XML
  • Ověření tokenu uživatelského jména
  • Rozhraní API rámce zabezpečení XWS

66) Seznam šesti balíčků dostupných v rozhraní API pro digitální podpis XML?

Rozhraní API pro digitální podpis je

  • xml.crypto
  • xml.crypto.dsig
  • xml.crypto.dsig.keyinfo
  • xml.crypto.dsig.spec
  • xml.crypto.dom
  • xml.crypto.dsig.dom

67) Vysvětlete, co je JAXR?

JAXR je programovací rozhraní API JAVA pro aplikaci platformy Java pro přístup a programovou interakci s různými druhy registrů metadat.

68) Vysvětlete, z čeho se skládá architektura JAXR?

Architektura JAXR se skládá z klienta JAXR a poskytovatele JAXR.

  • Klient JAXR: Jedná se o klientský program, který používá rozhraní JAXR API k použití registru prostřednictvím poskytovatele JAXR
  • Poskytovatel JAXR: Jde o implementaci rozhraní JAXR API, která poskytuje přístup ke konkrétnímu poskytovateli registru nebo ke třídě poskytovatelů registru, které jsou postaveny na společných specifikacích.

69) Vysvětlete, co jsou modely zasílání zpráv JAXM?

Existují dva typy modelů zasílání zpráv pro JAXM synchronní a asynchronní

  • Model synchronních zpráv: V takovém typu modelu klient přímo komunikuje se zdrojem. V tomto případě klient odešle požadavek a čeká.
  • Model asynchronního zasílání zpráv: V tomto modelu klient přesměruje zprávu na poskytovatele zasílání zpráv a vrátí se zpět. Poskytovatel zpráv poté provede směrování zprávy ke koncovému zdroji.

70) Vysvětlete, co jsou UDDI, DISCO a WSDL?

  • UDDI: To znamená univerzální popis, zjišťování a já Je to adresář, který se používá k publikování a objevování veřejných webových služeb
  • DISCO: To je obecně známé jako objev. Společně sdružuje běžné služby a vystavuje dokument schémat webových služeb
  • WSDL: Zkratka pro jazyk popisu webových služeb (WSDL). Používá se k popisu webových služeb. Popis zahrnuje URL webových služeb, vlastnosti a metody podporované webovými službami, datový typ, který podporuje, a podrobnosti protokolu, které podporuje