എന്താണ് വെബ് സേവനം? എന്താണ് ഒരു വെബ് സേവനം. എന്താണ് വെബ് സേവനങ്ങൾ

ഇന്റർനെറ്റിലൂടെ (http) മറ്റ് പ്രോഗ്രാമുകൾക്ക് ആക്സസ് ചെയ്യാൻ കഴിയുന്ന ഒരു പ്രോഗ്രാമാണ് വെബ് സേവനം. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് HTML ഫോർമാറ്റിൽ ടെക്സ്റ്റ് നൽകുന്ന ഒരു ഫംഗ്ഷൻ ഉണ്ടെന്ന് പറയാം. ആപ്ലിക്കേഷന്റെ ഉദ്ദേശ്യം വെബ് ബ്രൗസറിന് ഫലങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിനാണ്, കൂടാതെ ഒരു വ്യക്തിക്ക് പേജിലെ ഈ വാചകം എളുപ്പത്തിൽ വായിക്കാൻ കഴിയും.

മറുവശത്ത്, ഒരു വെബ് സേവനത്തിന്റെ ടാർഗെറ്റ് പ്രേക്ഷകർ വെബ് സേവനം നൽകുന്ന ഡാറ്റ ഉപയോഗിക്കുന്ന മറ്റ് പ്രോഗ്രാമുകളോ മറ്റ് വെബ് സേവനങ്ങളോ ആണ്. സാധാരണഗതിയിൽ ഔട്ട്പുട്ട് മറ്റ് പ്രോഗ്രാമുകൾക്ക് മനസ്സിലാക്കാൻ കഴിയുന്ന ഒരു സാധാരണ ഭാഷയിലാണ്. മുകളിലെ ഉദാഹരണം എടുക്കുക, ഒരു വെബ് സേവനം XML ഫോർമാറ്റിൽ ടെക്സ്റ്റ് ഔട്ട്പുട്ട് ചെയ്യുന്നുവെങ്കിൽ, XML വായിക്കാനോ മനസ്സിലാക്കാനോ കഴിയുന്ന മറ്റ് വെബ് സേവനങ്ങൾക്ക് ആ ഔട്ട്പുട്ട് ഉപയോഗിക്കാനാകും.

ഒരു വെബ് സേവനത്തിന്റെ പ്രധാന നേട്ടം, ആപ്ലിക്കേഷനുകൾ ഏത് ഭാഷയിലും എഴുതാം, എന്നാൽ അവയ്ക്ക് വെബ് സേവനത്തിലൂടെ പരസ്പരം ആശയവിനിമയം നടത്താനും ഡാറ്റ കൈമാറാനും കഴിയും എന്നതാണ്. വ്യത്യസ്‌ത പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ എഴുതിയതും വ്യത്യസ്‌ത പ്ലാറ്റ്‌ഫോമുകളിൽ പ്രവർത്തിക്കുന്നതുമായ സോഫ്‌റ്റ്‌വെയർ ആപ്ലിക്കേഷനുകൾക്ക് ഇന്റർനെറ്റ് (HTTP) വഴി ആശയവിനിമയം നടത്താൻ വെബ് സേവനങ്ങൾ ഉപയോഗിക്കാം. ഈ ഇടപെടൽ (ഉദാഹരണത്തിന്, Java, Python, അല്ലെങ്കിൽ Windows, Linux ആപ്ലിക്കേഷനുകൾ എന്നിവയ്ക്കിടയിൽ) ഓപ്പൺ സ്റ്റാൻഡേർഡുകളുടെ (XML, SOAP, HTTP) ഉപയോഗം ഉൾപ്പെടുന്നു.

  • SOAP (ലളിതമായ ഒബ്ജക്റ്റ് ആക്സസ് പ്രോട്ടോക്കോൾ)
  • UDDI (സാർവത്രിക വിവരണം, കണ്ടെത്തൽ, സംയോജനം)
  • WSDL (വെബ് സേവന വിവരണ ഭാഷ)

എത്ര വ്യത്യസ്ത തരം വെബ് സേവനങ്ങളുണ്ട്?

പ്രാഥമികമായി, രണ്ട് തരത്തിലുള്ള വെബ് സേവനങ്ങളുണ്ട്, സിമ്പിൾ ഒബ്ജക്റ്റ് ആക്സസ് പ്രോട്ടോക്കോൾ (SOAP), റെപ്രസന്റേഷനൽ സ്റ്റേറ്റ് ട്രാൻസ്ഫർ (REST).

  • SOAP വെബ് സേവനം XML ഫോർമാറ്റിലുള്ള ഒരു അഭ്യർത്ഥന സ്വീകരിക്കുകയും XML ഫോർമാറ്റിൽ ഔട്ട്പുട്ട് സൃഷ്ടിക്കുകയും ചെയ്യുന്നു.
  • REST വെബ് സേവനം കൂടുതൽ വൈവിധ്യമാർന്നതും XML, JSON എന്നിവയും ഒരു അഭ്യർത്ഥനയായി സ്വീകരിക്കാനും XML, JSON അല്ലെങ്കിൽ HTML എന്നിവയിൽ പോലും ഔട്ട്പുട്ട് സൃഷ്ടിക്കാനും കഴിയും.

ഈ പ്രശ്നം നമ്മുടേതിൽ കൂടുതൽ വിശദമായി പഠിക്കാം.

വിഷയത്തിന്റെ പേര് ശരിക്കും ഒരു ചോദ്യമാണ്, കാരണം... അത് എന്താണെന്ന് എനിക്കറിയില്ല, ഈ ലേഖനത്തിന്റെ ചട്ടക്കൂടിനുള്ളിൽ ഞാൻ ആദ്യമായി പ്രവർത്തിക്കാൻ ശ്രമിക്കും. ചുവടെ അവതരിപ്പിച്ചിരിക്കുന്ന കോഡ് പ്രവർത്തിക്കുമെന്ന് എനിക്ക് ഉറപ്പുനൽകാൻ കഴിയുന്ന ഒരേയൊരു കാര്യം, എന്നാൽ എന്റെ ശൈലികൾ ഇതെല്ലാം ഞാൻ എങ്ങനെ മനസ്സിലാക്കുന്നു എന്നതിനെക്കുറിച്ചുള്ള അനുമാനങ്ങളും ഊഹങ്ങളും മാത്രമായിരിക്കും. അതിനാൽ, നമുക്ക് പോകാം ...

ആമുഖം

എന്തുകൊണ്ടാണ് വെബ് സേവനങ്ങൾ എന്ന ആശയം സൃഷ്ടിക്കപ്പെട്ടത് എന്നതിൽ നിന്ന് നമ്മൾ ആരംഭിക്കേണ്ടതുണ്ട്. ഈ ആശയം ലോകത്ത് പ്രത്യക്ഷപ്പെട്ട സമയമായപ്പോഴേക്കും, ആപ്ലിക്കേഷനുകളെ വിദൂരമായി സംവദിക്കാൻ അനുവദിക്കുന്ന സാങ്കേതികവിദ്യകൾ നിലവിലുണ്ടായിരുന്നു, അവിടെ ഒരു പ്രോഗ്രാമിന് മറ്റൊരു പ്രോഗ്രാമിൽ ചില രീതികൾ വിളിക്കാം, അത് മറ്റൊരു നഗരത്തിലോ രാജ്യത്തിലോ സ്ഥിതി ചെയ്യുന്ന ഒരു കമ്പ്യൂട്ടറിൽ സമാരംഭിക്കാനാകും. ഇതെല്ലാം RPC (റിമോട്ട് പ്രൊസീജർ കോളിംഗ്) എന്ന് ചുരുക്കിയിരിക്കുന്നു. ഉദാഹരണങ്ങളിൽ CORBA സാങ്കേതികവിദ്യകൾ, ജാവ - RMI (റിമോട്ട് മെത്തേഡ് ഇൻവോക്കിംഗ്) എന്നിവ ഉൾപ്പെടുന്നു. അവയിൽ എല്ലാം നല്ലതാണെന്ന് തോന്നുന്നു, പ്രത്യേകിച്ച് കോർബയിൽ, കാരണം... ഏത് പ്രോഗ്രാമിംഗ് ഭാഷയിലും നിങ്ങൾക്ക് ഇത് ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ കഴിയും, പക്ഷേ ഇപ്പോഴും എന്തോ നഷ്‌ടമായിരുന്നു. CORBA യുടെ പോരായ്മ, അത് ലളിതമായ HTTP-ക്ക് പകരം സ്വന്തം നെറ്റ്‌വർക്ക് പ്രോട്ടോക്കോളുകൾ വഴി പ്രവർത്തിക്കുന്നു എന്നതാണ്, അത് ഏത് ഫയർവാളിലൂടെയും യോജിക്കും. എച്ച്ടിടിപി പാക്കറ്റുകളിൽ ചേർക്കുന്ന ഒരു ആർപിസി സൃഷ്ടിക്കുക എന്നതായിരുന്നു വെബ് സേവനത്തിന്റെ ആശയം. അങ്ങനെ സ്റ്റാൻഡേർഡിന്റെ വികസനം ആരംഭിച്ചു. ഈ മാനദണ്ഡത്തിന്റെ അടിസ്ഥാന ആശയങ്ങൾ എന്തൊക്കെയാണ്:
  1. സോപ്പ്. ഒരു വിദൂര നടപടിക്രമം വിളിക്കുന്നതിന് മുമ്പ്, SOAP ഫോർമാറ്റിലുള്ള ഒരു XML ഫയലിൽ നിങ്ങൾ ഈ കോൾ വിവരിക്കേണ്ടതുണ്ട്. വെബ് സേവനങ്ങളിൽ ഉപയോഗിക്കുന്ന നിരവധി XML മാർക്ക്അപ്പുകളിൽ ഒന്നാണ് SOAP. HTTP വഴി നമ്മൾ എവിടെയെങ്കിലും അയയ്‌ക്കാൻ ആഗ്രഹിക്കുന്നതെല്ലാം ആദ്യം ഒരു XML SOAP വിവരണത്തിലേക്ക് പരിവർത്തനം ചെയ്യപ്പെടുന്നു, തുടർന്ന് ഒരു HTTP പാക്കറ്റിലേക്ക് സ്റ്റഫ് ചെയ്‌ത് TCP/IP വഴി നെറ്റ്‌വർക്കിലെ മറ്റൊരു കമ്പ്യൂട്ടറിലേക്ക് അയയ്ക്കുന്നു.
  2. WSDL. ഒരു വെബ് സേവനം ഉണ്ട്, അതായത്. വിദൂരമായി വിളിക്കാവുന്ന ഒരു പ്രോഗ്രാം. എന്നാൽ സ്റ്റാൻഡേർഡ് ഈ പ്രോഗ്രാമിനൊപ്പം "അതെ, നിങ്ങൾ പറഞ്ഞത് ശരിയാണ് - ഇത് ശരിക്കും ഒരു വെബ് സേവനമാണ്, നിങ്ങൾക്ക് അതിൽ നിന്ന് അത്തരം രീതികളും അത്തരം രീതികളും വിളിക്കാം" എന്ന് പറയുന്ന ഒരു വിവരണം ആവശ്യമാണ്. ഈ വിവരണം മറ്റൊരു XML ഫയൽ പ്രതിനിധീകരിക്കുന്നു, അതിന് മറ്റൊരു ഫോർമാറ്റ് ഉണ്ട്, അതായത് WSDL. ആ. WSDL എന്നത് ഒരു വെബ് സേവനത്തെ വിവരിക്കുന്ന ഒരു XML ഫയൽ മാത്രമാണ്, അതിൽ കൂടുതലൊന്നുമില്ല.
എന്തിനാണ് ഇത്രയും ചുരുക്കി ചോദിക്കുന്നത്? നിങ്ങൾക്ക് കൂടുതൽ വ്യക്തമായി പറയാൻ കഴിയില്ലേ? ഇത് സാധ്യമാണ്, പക്ഷേ ഇത് ചെയ്യുന്നതിന് നിങ്ങൾ T. Mashnin, "Java Web Services" പോലുള്ള പുസ്തകങ്ങളിലേക്ക് തിരിയേണ്ടിവരും. അവിടെ, ആദ്യത്തെ 200 പേജുകളിൽ, SOAP, WSDL മാനദണ്ഡങ്ങളുടെ ഓരോ ടാഗിന്റെയും വിശദമായ വിവരണം ഉണ്ട്. ഇത് ചെയ്യുന്നത് മൂല്യവത്താണോ? എന്റെ അഭിപ്രായത്തിൽ, ഇല്ല, കാരണം ... ഇതെല്ലാം ജാവയിൽ യാന്ത്രികമായി സൃഷ്ടിക്കപ്പെടുന്നു, കൂടാതെ വിദൂരമായി വിളിക്കപ്പെടുന്ന രീതികളുടെ ഉള്ളടക്കങ്ങൾ മാത്രം നിങ്ങൾ എഴുതേണ്ടതുണ്ട്. അതിനാൽ, JAX-RPC പോലുള്ള ഒരു API ജാവയിൽ പ്രത്യക്ഷപ്പെട്ടു. ആർക്കെങ്കിലും അറിയില്ലെങ്കിൽ, ജാവയ്ക്ക് അത്തരമൊരു എപിഐ ഉണ്ടെന്ന് പറയുമ്പോൾ, സംശയാസ്പദമായ സാങ്കേതികവിദ്യ ഉൾക്കൊള്ളുന്ന ഒരു കൂട്ടം ക്ലാസുകളുള്ള ഒരു പാക്കേജ് ഉണ്ടെന്നാണ് അർത്ഥമാക്കുന്നത്. JAX-RPC കാലക്രമേണ പതിപ്പിൽ നിന്ന് പതിപ്പിലേക്ക് പരിണമിക്കുകയും ഒടുവിൽ JAX-WS ആയി മാറുകയും ചെയ്തു. WS വ്യക്തമായും WebService-നെ സൂചിപ്പിക്കുന്നു, മാത്രമല്ല ഇത് RPC-യുടെ പേരുമാറ്റം മാത്രമാണെന്ന് നിങ്ങൾ കരുതിയേക്കാം. ഇത് ശരിയല്ല, കാരണം ഇപ്പോൾ വെബ് സേവനങ്ങൾ യഥാർത്ഥ ആശയത്തിൽ നിന്ന് മാറി, വിദൂര രീതികളെ വിളിക്കാൻ മാത്രമല്ല, SOAP ഫോർമാറ്റിൽ ഡോക്യുമെന്റ് സന്ദേശങ്ങൾ അയയ്ക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു. എന്തുകൊണ്ടാണ് ഇത് ഇതുവരെ ആവശ്യമെന്ന് എനിക്കറിയില്ല; ഇവിടെ ഉത്തരം "ആവശ്യമെങ്കിൽ" എന്നായിരിക്കാൻ സാധ്യതയില്ല. കൂടുതൽ പരിചയസമ്പന്നരായ സഖാക്കളിൽ നിന്ന് പഠിക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു. അവസാനമായി, RESTful വെബ് സേവനങ്ങൾ എന്ന് വിളിക്കപ്പെടുന്നവയ്ക്കായി JAX-RS പ്രത്യക്ഷപ്പെട്ടു, എന്നാൽ ഇത് ഒരു പ്രത്യേക ലേഖനത്തിന്റെ വിഷയമാണ്. ആമുഖം ഇവിടെ അവസാനിപ്പിക്കാം, കാരണം... അടുത്തതായി നമ്മൾ JAX-WS-നൊപ്പം പ്രവർത്തിക്കാൻ പഠിക്കും.

പൊതുവായ സമീപനം

വെബ് സേവനങ്ങളിൽ എല്ലായ്പ്പോഴും ഒരു ക്ലയന്റും സെർവറും ഉണ്ട്. സെർവർ ഞങ്ങളുടെ വെബ് സേവനമാണ്, ഇതിനെ ചിലപ്പോൾ എൻഡ്‌പോയിന്റ് എന്ന് വിളിക്കുന്നു (ക്ലയന്റിൽനിന്നുള്ള SOAP സന്ദേശങ്ങൾ എത്തിച്ചേരുന്ന അവസാന പോയിന്റ് പോലെ). ഞങ്ങൾ ഇനിപ്പറയുന്നവ ചെയ്യേണ്ടതുണ്ട്:
  1. ഞങ്ങളുടെ വെബ് സേവനത്തിന്റെ ഇന്റർഫേസ് വിവരിക്കുക
  2. ഈ ഇന്റർഫേസ് നടപ്പിലാക്കുക
  3. ഞങ്ങളുടെ വെബ് സേവനം സമാരംഭിക്കുക
  4. ഒരു ക്ലയന്റ് എഴുതുക, ആവശ്യമുള്ള വെബ് സേവന രീതി വിദൂരമായി വിളിക്കുക
നിങ്ങൾക്ക് വ്യത്യസ്ത രീതികളിൽ ഒരു വെബ് സേവനം സമാരംഭിക്കാം: ഒന്നുകിൽ പ്രധാന രീതി ഉപയോഗിച്ച് ഒരു ക്ലാസ് വിവരിച്ച് വെബ് സേവനം നേരിട്ട് ഒരു സെർവറായി സമാരംഭിക്കുക, അല്ലെങ്കിൽ ടോംകാറ്റ് അല്ലെങ്കിൽ മറ്റേതെങ്കിലും സെർവറിലേക്ക് വിന്യസിക്കുക. രണ്ടാമത്തെ സാഹചര്യത്തിൽ, ഞങ്ങൾ സ്വയം ഒരു പുതിയ സെർവർ സമാരംഭിക്കുകയോ കമ്പ്യൂട്ടറിൽ മറ്റൊരു പോർട്ട് തുറക്കുകയോ ചെയ്യുന്നില്ല, പക്ഷേ ടോംകാറ്റ് സെർവ്‌ലെറ്റ് കണ്ടെയ്‌നറോട് പറയുക, “ഞങ്ങൾ ഇവിടെ വെബ് സേവന ക്ലാസുകൾ എഴുതിയിട്ടുണ്ട്, ദയവായി അവ പ്രസിദ്ധീകരിക്കുക, അതുവഴി നിങ്ങളെ ബന്ധപ്പെടുന്ന എല്ലാവർക്കും കഴിയും. ഞങ്ങളുടെ വെബ് സേവനം ഉപയോഗിക്കുക." വെബ് സേവനം ആരംഭിക്കുന്ന രീതി പരിഗണിക്കാതെ തന്നെ, ഞങ്ങൾക്ക് ഒരേ ക്ലയന്റ് ഉണ്ടായിരിക്കും.

സെർവർ

നമുക്ക് IDEA സമാരംഭിച്ച് ഒരു പുതിയ പ്രോജക്റ്റ് സൃഷ്ടിക്കാം പുതിയ പ്രോജക്റ്റ് സൃഷ്ടിക്കുക. നമുക്ക് പേര് സൂചിപ്പിക്കാം HelloWebServiceബട്ടൺ അമർത്തുക അടുത്തത്, തുടർന്ന് ബട്ടൺ പൂർത്തിയാക്കുക. ഫോൾഡറിൽ srcനമുക്ക് ഒരു പാക്കേജ് ഉണ്ടാക്കാം ru.javarush.ws. ഈ പാക്കേജിൽ നമ്മൾ HelloWebService ഇന്റർഫേസ് ഉണ്ടാക്കും: പാക്കേജ് ru. ജവരുഷ്. ws; // ഇവ വ്യാഖ്യാനങ്ങളാണ്, അതായത്. ഞങ്ങളുടെ ക്ലാസുകളും രീതികളും അടയാളപ്പെടുത്തുന്നതിനുള്ള ഒരു മാർഗം, // വെബ് സേവന സാങ്കേതികവിദ്യയുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു javax ഇറക്കുമതി ചെയ്യുക. jws. WebMethod; javax ഇറക്കുമതി ചെയ്യുക. jws. വെബ് സേവനം; javax ഇറക്കുമതി ചെയ്യുക. jws. സോപ്പ്. SOAP ബൈൻഡിംഗ്; // ഞങ്ങളുടെ ഇന്റർഫേസ് ഒരു വെബ് സേവനമായി പ്രവർത്തിക്കുമെന്ന് ഞങ്ങൾ പറയുന്നു@വെബ് സേവനം // കോൾ രീതികൾക്കായി വെബ് സേവനം ഉപയോഗിക്കുമെന്ന് ഞങ്ങൾ പറയുന്നു@SOAPBinding (style = SOAPBinding. Style. RPC) പൊതു ഇന്റർഫേസ് HelloWebService ( // ഈ രീതി വിദൂരമായി വിളിക്കാമെന്ന് ഞങ്ങൾ പറയുന്നു@WebMethod public String getHelloString(സ്ട്രിംഗ് നാമം) ; ) ഈ കോഡിൽ, WebService, WebMethod ക്ലാസുകൾ വ്യാഖ്യാനങ്ങൾ എന്ന് വിളിക്കപ്പെടുന്നവയാണ്, ഞങ്ങളുടെ ഇന്റർഫേസും അതിന്റെ രീതിയും ഒരു വെബ് സേവനമായി അടയാളപ്പെടുത്തുകയല്ലാതെ ഒന്നും ചെയ്യരുത്. SOAPBinding ക്ലാസിനും ഇത് ബാധകമാണ്. ഒരേയൊരു വ്യത്യാസം SOAPBinding എന്നത് പാരാമീറ്ററുകളുള്ള ഒരു വ്യാഖ്യാനമാണ്. ഈ സാഹചര്യത്തിൽ, വെബ് സേവനം ഡോക്യുമെന്റ് സന്ദേശങ്ങളിലൂടെയല്ല, ഒരു ക്ലാസിക് RPC ആയി പ്രവർത്തിക്കുമെന്ന് സൂചിപ്പിക്കുന്ന ഒരു മൂല്യത്തോടെയാണ് സ്റ്റൈൽ പാരാമീറ്റർ ഉപയോഗിക്കുന്നത്, അതായത്. ഒരു രീതി വിളിക്കാൻ. നമുക്ക് നമ്മുടെ ഇന്റർഫേസ് ലോജിക് നടപ്പിലാക്കുകയും ഞങ്ങളുടെ പാക്കേജിൽ ഒരു HelloWebServiceImpl ക്ലാസ് സൃഷ്ടിക്കുകയും ചെയ്യാം. വഴിയിൽ, Impl ഉപയോഗിച്ച് ഒരു ക്ലാസ് അവസാനിപ്പിക്കുന്നത് ജാവയിലെ ഒരു കൺവെൻഷനാണെന്ന് ഞാൻ ശ്രദ്ധിക്കുന്നു, അതിനനുസരിച്ച് ഇന്റർഫേസുകൾ നടപ്പിലാക്കുന്നത് നിയുക്തമാക്കിയിരിക്കുന്നു (Impl - നടപ്പിലാക്കൽ എന്ന വാക്കിൽ നിന്ന്, അതായത് നടപ്പിലാക്കൽ). ഇത് ഒരു ആവശ്യകതയല്ല, നിങ്ങൾക്ക് ആവശ്യമുള്ളതെന്തും ക്ലാസിന് പേരിടാൻ നിങ്ങൾക്ക് സ്വാതന്ത്ര്യമുണ്ട്, എന്നാൽ നല്ല പെരുമാറ്റത്തിന് അത് ആവശ്യമാണ്: പാക്കേജ് ru. ജവരുഷ്. ws; // ഇന്റർഫേസ് വിവരിക്കുമ്പോൾ അതേ വ്യാഖ്യാനം, javax ഇറക്കുമതി ചെയ്യുക. jws. വെബ് സേവനം; // എന്നാൽ ഇവിടെ ഇത് എൻഡ് പോയിന്റ് ഇന്റർഫേസ് പാരാമീറ്റർ ഉപയോഗിച്ചാണ് ഉപയോഗിക്കുന്നത്, // ഞങ്ങളുടെ വെബ് സേവനത്തിന്റെ ഇന്റർഫേസ് ക്ലാസിന്റെ മുഴുവൻ പേര് സൂചിപ്പിക്കുന്നു@WebService(endpointInterface= "ru.javarush.ws.HelloWebService") പൊതു ക്ലാസ് HelloWebServiceImpl HelloWebService നടപ്പിലാക്കുന്നു ( @Override public String getHelloString (സ്ട്രിംഗ് നാമം) ( // ആശംസകൾ തിരികെ നൽകുകതിരികെ "ഹലോ, " + പേര് + "!" ; ) ) നമുക്ക് നമ്മുടെ വെബ് സേവനം ഒരു സ്വതന്ത്ര സെർവറായി സമാരംഭിക്കാം, അതായത്. ഏതെങ്കിലും ടോംകാറ്റിന്റെയും ആപ്ലിക്കേഷൻ സെർവറുകളുടെയും പങ്കാളിത്തമില്ലാതെ (ഇത് ഒരു പ്രത്യേക ചർച്ചയ്ക്കുള്ള വിഷയമാണ്). ഇത് ചെയ്യുന്നതിന്, ഫോൾഡറിലെ പ്രോജക്റ്റ് ഘടനയിൽ srcനമുക്ക് ഒരു പാക്കേജ് ru.javarush.endpoint സൃഷ്ടിക്കാം, അതിൽ പ്രധാന രീതി ഉപയോഗിച്ച് ഞങ്ങൾ ഒരു HelloWebServicePublisher ക്ലാസ് സൃഷ്ടിക്കും: പാക്കേജ് ru. ജവരുഷ്. അവസാന പോയിന്റ്; // വെബ് സേവനങ്ങളുള്ള ഒരു വെബ് സെർവർ പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള ക്ലാസ് javax ഇറക്കുമതി ചെയ്യുക. xml ws. അവസാന പോയിന്റ്; // ഞങ്ങളുടെ വെബ് സേവനത്തിന്റെ ക്ലാസ് ru ഇറക്കുമതി ചെയ്യുക. ജവരുഷ്. ws. HelloWebServiceImpl; പൊതു ക്ലാസ് HelloWebServicePublisher ( പൊതു സ്റ്റാറ്റിക് ശൂന്യ പ്രധാനം (സ്ട്രിംഗ്... ആർഗ്സ്) ( // 1986 പോർട്ടിൽ വെബ് സെർവർ ആരംഭിക്കുക // കൂടാതെ ആദ്യത്തെ ആർഗ്യുമെന്റിൽ വ്യക്തമാക്കിയ വിലാസത്തിലേക്ക്, // രണ്ടാമത്തെ ആർഗ്യുമെന്റിൽ പാസ്സായ വെബ് സേവനം ആരംഭിക്കുകഅവസാന പോയിന്റ്. പ്രസിദ്ധീകരിക്കുക( "http://localhost:1986/wss/hello", പുതിയ HelloWebServiceImpl () ); ) ) ഇനി നമുക്ക് ഈ ക്ലാസ് ക്ലിക്ക് ചെയ്ത് പ്രവർത്തിപ്പിക്കാം Shift+F10. കൺസോളിൽ ഒന്നും ദൃശ്യമാകില്ല, പക്ഷേ സെർവർ പ്രവർത്തിക്കുന്നു. നിങ്ങളുടെ ബ്രൗസറിൽ http://localhost:1986/wss/hello?wsdl എന്ന വരി ടൈപ്പ് ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് ഇത് സ്ഥിരീകരിക്കാൻ കഴിയും. തുറക്കുന്ന പേജ്, ഒരു വശത്ത്, ഞങ്ങളുടെ കമ്പ്യൂട്ടറിൽ (ലോക്കൽ ഹോസ്റ്റ്) പോർട്ട് 1986-ൽ പ്രവർത്തിക്കുന്ന ഒരു വെബ് സെർവർ (http://) ഉണ്ടെന്ന് തെളിയിക്കുന്നു, മറുവശത്ത്, ഞങ്ങളുടെ വെബ് സേവനത്തിന്റെ ഒരു WSDL വിവരണം കാണിക്കുന്നു. നിങ്ങൾ ആപ്ലിക്കേഷൻ നിർത്തുകയാണെങ്കിൽ, വെബ് സേവനത്തെപ്പോലെ വിവരണം ലഭ്യമല്ലാതാകും, അതിനാൽ ഞങ്ങൾ ഇത് ചെയ്യില്ല, പക്ഷേ ക്ലയന്റ് എഴുതുന്നതിലേക്ക് നീങ്ങുക.

കക്ഷി

പ്രോജക്റ്റ് ഫോൾഡറിൽ srcനമുക്ക് ഒരു പാക്കേജ് സൃഷ്ടിക്കാം ru.javarush.client , അതിൽ പ്രധാന രീതി ഉപയോഗിച്ച് HelloWebServiceClient ക്ലാസ്: പാക്കേജ് ru. ജവരുഷ്. കക്ഷി; // wsdl വിവരണവും അതിലൂടെയും ലഭിക്കേണ്ടതുണ്ട് // വെബ് സേവനത്തിൽ തന്നെ എത്തിച്ചേരുകജാവ ഇറക്കുമതി ചെയ്യുക. വല. URL; // ഒരു URL ഒബ്‌ജക്‌റ്റിൽ പ്രവർത്തിക്കുമ്പോൾ ഈ ഒഴിവാക്കൽ സംഭവിക്കുംജാവ ഇറക്കുമതി ചെയ്യുക. വല. തെറ്റായ യുആർഎൽഎക്സപ്ഷൻ; // wsdl വിവരണത്തോടൊപ്പം xml പാഴ്‌സ് ചെയ്യാനുള്ള ക്ലാസുകൾ // കൂടാതെ അതിലെ സേവന ടാഗിൽ എത്തുക javax ഇറക്കുമതി ചെയ്യുക. xml നെയിംസ്പേസ്. QName; javax ഇറക്കുമതി ചെയ്യുക. xml ws. സേവനം; // ഞങ്ങളുടെ വെബ് സേവനത്തിന്റെ ഇന്റർഫേസ് (ഞങ്ങൾക്ക് കൂടുതൽ ആവശ്യമാണ്) ru ഇറക്കുമതി ചെയ്യുക. ജവരുഷ്. ws. HelloWebService; പൊതു ക്ലാസ് HelloWebServiceClient ( പൊതു സ്റ്റാറ്റിക് ശൂന്യമായ മെയിൻ (സ്ട്രിംഗ് ആർഗ്സ്) MalformedURLexception ( // wsdl വിവരണത്തിലേക്ക് ഒരു ലിങ്ക് സൃഷ്ടിക്കുക URL url = പുതിയ URL ( "http://localhost:1986/wss/hello?wsdl") ; // WSDL വിവരണത്തിന്റെ ആദ്യ ടാഗിൽ ഞങ്ങൾ അടുത്ത കൺസ്ട്രക്റ്ററിന്റെ പാരാമീറ്ററുകൾ നോക്കുന്നു - നിർവചനങ്ങൾ // targetNamespace ആട്രിബ്യൂട്ടിലെ ആദ്യ ആർഗ്യുമെന്റ് നോക്കുക // നെയിം ആട്രിബ്യൂട്ടിലെ രണ്ടാമത്തെ ആർഗ്യുമെന്റ് നോക്കുക QName qname = പുതിയ QName ("http://ws.site/" , "HelloWebServiceImplService" ); // ഇപ്പോൾ നമുക്ക് wsdl വിവരണത്തിലെ സേവന ടാഗിൽ എത്താം,സേവന സേവനം = സേവനം. സൃഷ്ടിക്കുക (url, qname) ; // തുടർന്ന് അതിൽ നെസ്റ്റ് ചെയ്ത പോർട്ട് ടാഗ് വരെ, അങ്ങനെ // ഞങ്ങളിൽ നിന്ന് റിമോട്ട് ഒരു വെബ് സേവന ഒബ്ജക്റ്റിലേക്കുള്ള ഒരു ലിങ്ക് നേടുക HelloWebService ഹലോ = സേവനം. getPort(HelloWebService.class); // ഹൂറേ! നിങ്ങൾക്ക് ഇപ്പോൾ വിദൂര രീതിയിലേക്ക് വിളിക്കാംസിസ്റ്റം. പുറത്ത്. println (ഹലോ. getHelloString ("JavaRush") ); ) ) ലിസ്റ്റിംഗിലെ കോഡിന് ഞാൻ പരമാവധി അഭിപ്രായങ്ങൾ നൽകി. എനിക്ക് ഒന്നും ചേർക്കാനില്ല, അതിനാൽ നമുക്ക് പ്രവർത്തിപ്പിക്കാം (Shift+F10). കൺസോളിലെ വാചകം നമ്മൾ കാണണം: ഹലോ, JavaRush! നിങ്ങൾ അത് കണ്ടില്ലെങ്കിൽ, വെബ് സേവനം ആരംഭിക്കാൻ നിങ്ങൾ മറന്നിരിക്കാം.

ഉപസംഹാരം

ഈ വിഷയം വെബ് സേവനങ്ങളിലേക്ക് ഒരു ഹ്രസ്വ വിനോദയാത്ര നൽകി. ഒരിക്കൽ കൂടി, ഞാൻ എഴുതിയതിൽ ഭൂരിഭാഗവും അത് എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിനെക്കുറിച്ചുള്ള എന്റെ ഊഹമാണ്, അതിനാൽ നിങ്ങൾ എന്നെ അമിതമായി വിശ്വസിക്കരുത്. അറിവുള്ളവർ എന്നെ തിരുത്തിയാൽ ഞാൻ നന്ദിയുള്ളവനായിരിക്കും, കാരണം ഞാൻ എന്തെങ്കിലും പഠിക്കും. UPD.

ഞങ്ങൾ 10 മികച്ച വെബ് സേവനങ്ങൾ തിരഞ്ഞെടുത്തു, അവയുടെ അവലോകനങ്ങൾ ലൈഫ്ഹാക്കറിൽ കഴിഞ്ഞ വർഷം പ്രസിദ്ധീകരിച്ചു. ഒരു ടീമിൽ സമയവും ജോലിയും ഫലപ്രദമായി ക്രമീകരിക്കാനും ഞങ്ങളുടെ ബിസിനസ്സ് നിയന്ത്രിക്കാനും പുതിയ അറിവ് നേടാനും ഞങ്ങളുടെ കഴിവുകൾ വികസിപ്പിക്കാനും വിശ്രമത്തിൽ നിന്നും വിനോദത്തിൽ നിന്നും കൂടുതൽ ആനന്ദം നേടാനും ഈ ഉപകരണങ്ങൾ ഞങ്ങളെ സഹായിക്കുന്നു. പുതുവർഷത്തിൽ അവ പരീക്ഷിച്ചുനോക്കൂ, നിങ്ങളുടെ ജീവിതം ശോഭയുള്ളതും കൂടുതൽ സുഖകരവുമാക്കട്ടെ!

"ഇഫ് പിന്നീട് ഒരു സേവനത്തിൽ സംഭവിച്ചു അത്മറ്റൊരു സേവനത്തിൽ സംഭവിക്കും. 20-ലധികം സേവനങ്ങളും സോഷ്യൽ നെറ്റ്‌വർക്കുകളും സാങ്കേതികവിദ്യകളും പിന്തുണയ്‌ക്കുന്നു: Gmail, മറ്റേതെങ്കിലും മെയിൽ, RSS, Facebook, Twitter, Evernote, Dropbox, Google Reader, Google Talk, Foursquare, Flickr, Instapaper, ReadItLater, LinkedIn, YouTube എന്നിവയും മറ്റുള്ളവയും. കൂടാതെ, ഇവന്റുകൾ SMS, ഫോൺ കോളുകൾ, സ്റ്റോക്ക് വിലയിലെ മാറ്റങ്ങൾ, ഒരു നിശ്ചിത പ്രദേശത്തെ കാലാവസ്ഥയിൽ പോലും മാറ്റങ്ങൾ എന്നിവ ഉൾപ്പെടുന്നു. ifttt ഉപയോഗിച്ച് സൃഷ്‌ടിച്ച സ്വയമേവയുള്ള പ്രക്രിയകളുടെ ഉദാഹരണങ്ങൾ: "Google Reader-ൽ ഒരു പോസ്റ്റ് നക്ഷത്രചിഹ്നം കൊണ്ട് അടയാളപ്പെടുത്തിയിട്ടുണ്ടെങ്കിൽ, അത് Evernote-ൽ സംരക്ഷിക്കപ്പെടും", "ന്യൂയോർക്കിൽ മഴ പെയ്യാൻ തുടങ്ങിയാൽ, ഇതിനെക്കുറിച്ചുള്ള അറിയിപ്പ് SMS വഴി അയയ്ക്കും." ഭാവിയിൽ "ഇന്റർനെറ്റ് ഓഫ് തിംഗ്സ്", വ്യത്യസ്ത ഇലക്ട്രോണിക് ഉപകരണങ്ങൾക്ക് പരസ്പരം ആശയവിനിമയം നടത്താൻ കഴിയുമ്പോൾ, ifttt ന്റെ സാധ്യതകൾ ഇപ്പോൾ സങ്കൽപ്പിക്കുക! ;) ലൈഫ്ഹാക്കർ സുഹൃത്തായ വിക്ടർ സഖർചെങ്കോയിൽ നിന്നാണ് ഈ സേവനത്തെക്കുറിച്ച് ഞാൻ ആദ്യം മനസ്സിലാക്കിയത്. ഉൽപ്പാദനക്ഷമതയ്ക്കും സ്റ്റാർട്ടപ്പ് മാനേജുമെന്റിനുമായി സമർപ്പിച്ച 42 പോഡ്‌കാസ്റ്റിന്റെ സോളോ എപ്പിസോഡിൽ ifttt ഉപയോഗിച്ച അനുഭവത്തെക്കുറിച്ചും അദ്ദേഹം പിന്നീട് സംസാരിച്ചു.

ബുക്ക്‌മേറ്റ് നിങ്ങളുടെ സ്വകാര്യ ഇലക്ട്രോണിക് ലൈബ്രറിയാണ്, നിങ്ങളുടെ കമ്പ്യൂട്ടറിലും മൊബൈലിലും (iPhone, iPad, Android, Symbian) വായിക്കാൻ കഴിയുന്ന പുസ്തകങ്ങൾ. അതേ സമയം, നിങ്ങൾ ഉപയോഗിക്കുന്ന ഉപകരണങ്ങൾക്കിടയിൽ ഡാറ്റ സമന്വയിപ്പിക്കപ്പെടുന്നു - ഒരിക്കൽ നിങ്ങൾ കമ്പ്യൂട്ടറിൽ വായിക്കാൻ തുടങ്ങിയാൽ, നിങ്ങൾ നിർത്തിയിടത്ത് നിന്ന് സ്‌മാർട്ട്‌ഫോണിലോ ടാബ്‌ലെറ്റിലോ അത് തുടരാം. ബുക്ക്‌മേറ്റ് ഫണ്ട് ആയിരക്കണക്കിന് സൗജന്യ പുസ്‌തകങ്ങൾ സംഭരിക്കുന്നു, പ്രതിമാസം 99 റുബിളുകൾ മാത്രം വിലയുള്ള നിരവധി പുസ്തകങ്ങൾ സബ്‌സ്‌ക്രിപ്‌ഷൻ വഴി ലഭ്യമാണ്. അവയിൽ നിങ്ങൾക്ക് ആവശ്യമുള്ള പുസ്തകം കണ്ടെത്താനായില്ലെങ്കിൽ, നിങ്ങൾക്ക് അത് ലൈബ്രറിയിലേക്ക് അപ്‌ലോഡ് ചെയ്യാം. സുഹൃത്തുക്കളുമായി ശുപാർശകൾ പങ്കിടാനും അവരുടെ വായനാ ലിസ്റ്റുകൾ കാണാനും അവരുടെ ബുക്ക് ഷെൽഫുകളിൽ നിന്ന് പുസ്തകങ്ങൾ കടമെടുക്കാനും ഈ സേവനം നിങ്ങളെ അനുവദിക്കുന്നു. വായനപ്രേമികൾക്കായി, പുസ്തകപ്രേമികളായ ഗുഡ്‌റെഡ്‌സിന്റെ (Petr Didenko, Viktor Zakharchenko എന്നിവരിൽ നിന്നുള്ള രസകരമായ കൂട്ടിച്ചേർക്കലുകളുള്ള ലൈഫ്ഹാക്കറിൽ), ഞാൻ ഒരു വർഷത്തോളമായി ഞാൻ സ്വയം ഉപയോഗിക്കുന്നതും 40-ാം എപ്പിസോഡിൽ ഞങ്ങൾ സംസാരിച്ചതുമായ മനോഹരമായ സോഷ്യൽ നെറ്റ്‌വർക്ക് ശുപാർശ ചെയ്യാൻ കഴിയും. Petr Didenko, Viktor Zakharchenko എന്നിവർക്കൊപ്പം പോഡ്കാസ്റ്റ് "42".

ആധുനിക കമ്പനികൾ മത്സരശേഷി വർദ്ധിപ്പിക്കുന്നതിനും അവരുടെ വികസനം ഉത്തേജിപ്പിക്കുന്നതിനും പുതിയ സാങ്കേതികവിദ്യകൾ ഉപയോഗിക്കണം. നിരവധി അക്കൌണ്ടിംഗ്, ബിസിനസ് മാനേജ്മെന്റ് ടാസ്ക്കുകൾ ഔട്ട്സോഴ്സ് ചെയ്യാവുന്നതാണ്, കൂടാതെ "എന്റെ ബിസിനസ്സ്" പോലുള്ള ക്ലൗഡ് സേവനങ്ങൾ ഉപയോഗിക്കാൻ ഒരു വ്യക്തിഗത സംരംഭകനോ എൽഎൽസിക്കോ സൗകര്യപ്രദമാണ്. ഈ സേവനം പരമ്പരാഗത ഔട്ട്സോഴ്സിങ്ങിന് ലാഭകരമായ പകരമാണ്. അതിന്റെ സഹായത്തോടെ, നിങ്ങൾക്ക് അക്കൌണ്ടിംഗ് റെക്കോർഡുകൾ സെമി-ഓട്ടോമാറ്റിക് ആയി സൂക്ഷിക്കാം, നികുതികൾ കണക്കാക്കാം, ഇൻറർനെറ്റ് വഴി ഇലക്ട്രോണിക് ആയി സർക്കാർ ഏജൻസികൾക്ക് റിപ്പോർട്ടുകൾ സമർപ്പിക്കാം, വിദഗ്ദ്ധോപദേശം സ്വീകരിക്കാം, കൂടാതെ ഒരു വ്യക്തിഗത സംരംഭകനെ രജിസ്റ്റർ ചെയ്യുന്നതിന് ആവശ്യമായ രേഖകളുടെ ഒരു പാക്കേജ് 15 മിനിറ്റിനുള്ളിൽ സൃഷ്ടിക്കാം (അത് ഉടൻ തന്നെ. പ്രമാണങ്ങൾ തയ്യാറാക്കാനും LLC രജിസ്ട്രേഷനും സാധ്യമാണ്). എസ്‌കെബി കോണ്ടൂർ കമ്പനിയിൽ നിന്നുള്ള സമാനമായ സേവനവും ദയവായി ശ്രദ്ധിക്കുക - ഇലക്ട്രോണിക് അക്കൗണ്ടന്റ് "എൽബ". ബിസിനസ്സിനായുള്ള ക്ലൗഡ് ടെക്നോളജീസ് എന്ന വിഷയത്തിൽ നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ, പീറ്റർ ഡിഡെൻകോയുടെയും നീന ഗോർബുനോവയുടെയും പങ്കാളിത്തത്തോടെ പോഡ്കാസ്റ്റ് "42" ന്റെ 54-ാം എപ്പിസോഡ് ശ്രദ്ധിക്കുക.

ക്ലൗഡ് സേവനങ്ങളുടെ മറ്റൊരു പ്രധാന വിഭാഗം പ്രോജക്ട് മാനേജ്മെന്റ് സിസ്റ്റങ്ങളാണ്. ബേസ്‌ക്യാമ്പിനും മറ്റ് ജനപ്രിയ സിസ്റ്റങ്ങൾക്കും യോഗ്യമായ ഒരു എതിരാളിയായ ടീം ലാബ് ആണ് ഏറ്റവും മികച്ച (സൗജന്യവും) ഒന്ന്. TeamLab മൂന്ന് സൊല്യൂഷനുകളിലാണ് വരുന്നത് - ഒരു അക്കൗണ്ട് രജിസ്റ്റർ ചെയ്ത ഉടൻ ബ്രൗസറിൽ ഉപയോഗിക്കുന്നതിന് SaaS ആയി; ഓപ്പൺ സോഴ്‌സ് കോഡിന്റെ രൂപത്തിൽ, നിങ്ങളുടെ ആവശ്യങ്ങൾക്കും അഭിരുചിക്കും അനുസരിച്ച് നിങ്ങൾക്ക് സ്വതന്ത്രമായി പരിഷ്‌ക്കരിക്കാനാകും, തുടർന്ന് നിങ്ങളുടെ സെർവറുകളിൽ സിസ്റ്റം വിന്യസിക്കാം; ആമസോൺ സെർവറുകളിൽ മുൻകൂട്ടി ഇൻസ്റ്റാൾ ചെയ്ത ടീംലാബ് പോർട്ടലുള്ള ഒരു വെർച്വൽ മെഷീനായി. പ്രോജക്ട് മാനേജ്‌മെന്റ്, സഹകരണം, ഡോക്യുമെന്റ് മാനേജ്‌മെന്റ്, കലണ്ടർ, CRM സിസ്റ്റം (കസ്റ്റമർ റിലേഷൻഷിപ്പ് മാനേജ്‌മെന്റ് സിസ്റ്റം) എന്നിവയ്‌ക്കായുള്ള മൊഡ്യൂളുകൾ ടീം ലാബിൽ ഉൾപ്പെടുന്നു. ബിസിനസ്സിനായുള്ള ക്ലൗഡ് സാങ്കേതികവിദ്യകളെക്കുറിച്ചുള്ള "42" പോഡ്‌കാസ്റ്റിന്റെ 54-ാം എപ്പിസോഡിൽ ടീം ലാബ് മാർക്കറ്റിംഗ് മാനേജർ നീന ഗോർബുനോവ ഈ സിസ്റ്റം അവതരിപ്പിച്ചു.

പുതിയ ഫാഷനബിൾ സേവനമായ Pinterest വിവിധ വസ്തുക്കൾ, കെട്ടിടങ്ങൾ, സ്ഥലങ്ങൾ, ഇന്റീരിയറുകൾ, വിഭവങ്ങൾ - നിങ്ങൾ ഇഷ്ടപ്പെടുന്നതും മറ്റുള്ളവരെ കാണിക്കാൻ ആഗ്രഹിക്കുന്നതുമായ എല്ലാ ചിത്രങ്ങളോടും കൂടി മനോഹരമായ വെർച്വൽ ബോർഡുകൾ സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. പുതിയ ഒബ്‌ജക്റ്റുകൾ ബോർഡുകളിലേക്ക് വളരെ ലളിതമായി ചേർക്കുന്നു - ബ്രൗസറുകൾക്കായി ഒരു ബുക്ക്‌മാർക്ക്ലെറ്റ് ഉപയോഗിച്ച് അല്ലെങ്കിൽ വെബ് ഇന്റർഫേസ് വഴി സ്വമേധയാ. Pinterest-ൽ, നിങ്ങളുടെ ചങ്ങാതിമാരുടെ വെർച്വൽ ബോർഡുകളുടെ അപ്‌ഡേറ്റുകൾ പിന്തുടരാനാകും, ആശയങ്ങൾ, പ്രചോദനം, നല്ല മാനസികാവസ്ഥ എന്നിവയ്ക്കായി രസകരമായ ചിത്രങ്ങൾ നോക്കുക. ഒരു ഉദാഹരണമായി, എല്ലാ അത്ഭുതകരമായ അതിഥികളുടെയും ഫോട്ടോകളും അവരുടെ പ്രവർത്തനങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങളും അവരുടെ പങ്കാളിത്തത്തോടെയുള്ള പോഡ്‌കാസ്റ്റ് എപ്പിസോഡുകളിലേക്കുള്ള ലിങ്കുകളും അടങ്ങിയ എന്റെ "42 പോഡ്‌കാസ്റ്റ് അതിഥികൾ" ബോർഡ് ഞാൻ നിങ്ങൾക്ക് നൽകും.

യാസ്റ്റ് ടൈം ട്രാക്കിംഗ് സേവനം ഉപയോഗിച്ച്, നിങ്ങൾക്ക് വിവിധ പ്രോജക്റ്റുകൾക്കും വ്യക്തിഗത ജോലികൾക്കുമായി ചെലവഴിച്ച സമയം ട്രാക്ക് ചെയ്യാനും നിങ്ങളുടെ വർക്ക് ഷെഡ്യൂളിലെ ദുർബലമായ പോയിന്റുകൾ കണ്ടെത്താനും അവ ഒപ്റ്റിമൈസ് ചെയ്യാനും കഴിയും. ഈ സേവനം വ്യക്തിഗത ഉപയോക്താക്കൾക്കും ചെറിയ ടീമുകൾക്കും വേണ്ടിയുള്ളതാണ്. ടാസ്‌ക് ടൈമർ ഒരു ക്ലിക്കിൽ ആരംഭിക്കുകയും നിർത്തുകയും ചെയ്യുന്നു, പിന്നീട് നിങ്ങൾക്ക് വിവിധ വിഭാഗങ്ങളിൽ വിശദമായ റിപ്പോർട്ടുകൾ ലഭിക്കും. ടൈം ട്രാക്കറുകൾ വളരെ ഉപയോഗപ്രദമായ സമയ മാനേജുമെന്റ് ടൂളുകളാണ് - ടാസ്‌ക് മാനേജർമാരെയും കലണ്ടറുകളും പോലെ പ്രധാനമാണ്. എന്റെ സ്വന്തം അനുഭവത്തിൽ നിന്ന്, നിങ്ങളുടെ വർക്ക് ഷെഡ്യൂൾ ആഴത്തിൽ പഠിക്കുന്നതിലൂടെയും അത് ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിന് കുറച്ച് സമയം ചെലവഴിക്കുന്നതിലൂടെയും വ്യക്തിഗത ഫലപ്രാപ്തി സമൂലമായി മെച്ചപ്പെടുത്താൻ കഴിയുമെന്ന് എനിക്കറിയാം.

മോർഡേയ്‌സ് ഒരു ഓൺലൈൻ ഓർഗനൈസർ ആണ്, പേപ്പർ പ്ലാനർമാരായി സ്റ്റൈലൈസ് ചെയ്‌തതും ഐതിഹാസികമായ മോൾസ്‌കൈനുകളെ ഒരുവിധം അനുസ്മരിപ്പിക്കുന്നതുമാണ്. അതിശയകരമായ സൗന്ദര്യമാണ് ഇതിന്റെ പ്രധാന നേട്ടം. ഡിസൈനർമാർ അവരുടെ പരമാവധി ചെയ്തു, ലോകത്തിലെ ഏറ്റവും മനോഹരമായ സംഘാടകരിൽ ഒരാളായി. അതേ സമയം, Moredays ന് വളരെ സമ്പന്നമായ പ്രവർത്തനമുണ്ട്: നിങ്ങൾക്ക് ടാസ്‌ക്കുകൾ നിയന്ത്രിക്കാനും കലണ്ടറിൽ സമയം ആസൂത്രണം ചെയ്യാനും കുറിപ്പുകൾ സംഭരിക്കാനും കോൺടാക്റ്റുകൾ സംഭരിക്കാനും വ്യക്തിഗത ഓർഗനൈസർ പേജുകൾ Twitter, Facebook, Google+ എന്നിവ വഴി മറ്റ് ആളുകളുമായി പങ്കിടാനും Evernote, Google Apps എന്നിവയുമായി ഡാറ്റ സമന്വയിപ്പിക്കാനും കഴിയും. ഉടൻ തന്നെ മൊബൈൽ ഉപകരണങ്ങൾക്കായി ക്ലയന്റുകൾ ഉണ്ടാകും.

നിങ്ങൾ Facebook-ന്റെ സ്ഥാപകരിലൊരാളാണെങ്കിൽ, നിങ്ങളുടെ ഏത് പ്രോജക്റ്റും തൽക്ഷണം പ്രശസ്തമാകും. ലോകത്തിലെ ഏറ്റവും വലിയ സോഷ്യൽ നെറ്റ്‌വർക്കിന്റെ സഹസ്ഥാപകനായ ഡസ്റ്റിൻ മോസ്‌കോവിറ്റ്‌സിന്റെ അസാന പ്രോജക്റ്റ് മാനേജ്‌മെന്റ് സിസ്റ്റത്തിൽ സംഭവിച്ചത് ഇതാണ്. എന്നിരുന്നാലും, ഡസ്റ്റിന്റെ വ്യക്തിത്വം കാരണം മാത്രമല്ല ആസന ശ്രദ്ധ അർഹിക്കുന്നത് - ഡവലപ്പർമാർ മനോഹരവും എന്നാൽ കർശനവുമായ ഇന്റർഫേസുള്ള ലളിതവും സൗകര്യപ്രദവുമായ ഒരു സേവനം സൃഷ്ടിച്ചു. വ്യക്തിഗത ഉപയോഗത്തിനും ഒരു ചെറിയ ടീമിൽ പ്രവർത്തിക്കാനും ആസനം അനുയോജ്യമാണ്. സിസ്റ്റത്തിന്റെ പ്രവർത്തനക്ഷമതയെ സമ്പന്നമെന്ന് വിളിക്കാൻ കഴിയില്ല, പക്ഷേ ഫംഗ്ഷനുകളിൽ ഓവർലോഡ് ചെയ്ത പ്രോജക്റ്റ് മാനേജുമെന്റ് ഉപകരണങ്ങൾ ആവശ്യമില്ലാത്തവർക്ക് ഇത് അതിന്റെ പ്രധാന നേട്ടങ്ങളിലൊന്നാണ്. Google കലണ്ടർ, Apple iCal, Microsoft Outlook എന്നിവയുമായി അസാന സമന്വയിപ്പിക്കുന്നു, മെയിലുമായി സംയോജിപ്പിക്കുന്നു, കൂടാതെ സ്മാർട്ട്‌ഫോണുകൾക്കും ടാബ്‌ലെറ്റുകൾക്കുമായി ക്ലയന്റുകളുമുണ്ട്.

BO.LT നിങ്ങളുടെ ഇഷ്ടത്തിനനുസരിച്ച് ഏത് വെബ് പേജും എഡിറ്റ് ചെയ്യുന്നതിനുള്ള ലളിതവും എന്നാൽ അതിശയിപ്പിക്കുന്നതുമായ അവസരം നൽകുന്നു. അതിന്റെ വിലാസം സൂചിപ്പിച്ചാൽ മതി, നിങ്ങൾക്ക് HTML, മറ്റ് വെബ് ഡെവലപ്‌മെന്റ് സാങ്കേതികവിദ്യകൾ എന്നിവയെക്കുറിച്ചുള്ള അറിവില്ലാതെ വളരെ എളുപ്പത്തിൽ ഈ വെബ് പേജിന്റെ പകർപ്പിന്റെ വാചകത്തിലും രൂപകൽപ്പനയിലും എന്തെങ്കിലും മാറ്റങ്ങൾ വരുത്താം, തുടർന്ന് മറ്റ് ആളുകൾക്ക് ഫലത്തിലേക്ക് ചുരുക്കിയ ഒരു ലിങ്ക് അയയ്ക്കാം. . നിങ്ങൾ കാണാൻ ക്ഷണിക്കുന്ന സുഹൃത്തുക്കൾക്കോ ​​സഹപ്രവർത്തകർക്കോ ഈ വെബ് പേജ് എഡിറ്റ് ചെയ്യാനും കഴിയും. വിവിധ പരിഷ്കാരങ്ങൾക്കുശേഷം സൈറ്റിന്റെ രൂപം വ്യക്തമായി ദൃശ്യവൽക്കരിക്കുക, ഡിസൈനിനായുള്ള പുതിയ ആശയങ്ങൾ മസ്തിഷ്കപ്രക്ഷോഭം നടത്തുക, അല്ലെങ്കിൽ നിങ്ങളുടെ സുഹൃത്തുക്കളെ നിങ്ങളുടെ വിശദീകരണ കമന്റുകളുള്ള ഒരു വെബ് പേജ് കാണിക്കുക എന്നിവ ആവശ്യമുള്ളപ്പോൾ ഈ സേവനം ഒഴിച്ചുകൂടാനാവാത്തതാണ്. കൂടുതൽ പ്രവർത്തന സ്വാതന്ത്ര്യം നേടുന്നതിന് നിങ്ങൾക്ക് HTML കോഡ് എഡിറ്റിംഗ് മോഡിലേക്ക് മാറാം.

പ്രിയ വായനക്കാരേ, 2011-ൽ ഏത് വെബ് സേവനങ്ങളാണ് നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ടത്? ലൈഫ്ഹാക്കറിലെ അവലോകനങ്ങൾക്കായി നിങ്ങൾക്ക് ഏതൊക്കെയാണ് ഞങ്ങൾക്ക് ശുപാർശ ചെയ്യാൻ കഴിയുക?

XML-ഉം SOAP, WSDL, UDDI പോലുള്ള സ്റ്റാൻഡേർഡുകളും ഉപയോഗിച്ച് ഇന്റർനെറ്റിലൂടെയുള്ള മറ്റ് സോഫ്റ്റ്‌വെയർ ഉൽപ്പന്നങ്ങളിലേക്ക് അതിന്റെ ഡാറ്റയിലേക്ക് പ്ലാറ്റ്‌ഫോം-സ്വതന്ത്ര ആക്‌സസ് നൽകുന്ന സോഫ്റ്റ്‌വെയറാണ് വെബ് സേവനം.

പ്രായോഗികമായി വെബ് സേവനങ്ങൾ എന്തിനുവേണ്ടി ഉപയോഗിക്കാം? ഈ എക്സ്ചേഞ്ചിൽ ട്രേഡ് ചെയ്യുന്ന എല്ലാ സെക്യൂരിറ്റികളുടെയും നിലവിലെ ഉദ്ധരണികളെക്കുറിച്ചുള്ള പൂർണ്ണമായ വിവരങ്ങൾ സെർവറുകളുള്ള ഒരു സ്റ്റോക്ക് എക്സ്ചേഞ്ച് സങ്കൽപ്പിക്കുക. ഇത് വളരെ പ്രധാനപ്പെട്ട വിവരമാണ്, ഇതിലേക്കുള്ള ഓൺലൈൻ ആക്സസ് വളരെ മൂല്യവത്തായതും റിമോട്ട് സോഫ്റ്റ്വെയർ സിസ്റ്റങ്ങൾക്ക് ഉപയോഗപ്രദവുമാണ്. അല്ലെങ്കിൽ സാധാരണക്കാരോട് അടുപ്പമുള്ള മറ്റൊരു ഉദാഹരണം: ഒരു കാലാവസ്ഥാ ബ്യൂറോ സെർവറിൽ ഒരു നിശ്ചിത പ്രദേശത്തെ അല്ലെങ്കിൽ മുഴുവൻ ഗ്രഹത്തിലെയും കാലാവസ്ഥയെക്കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കാം. ഈ വിവരങ്ങൾ മൂന്നാം കക്ഷി ആപ്ലിക്കേഷനുകളും ഉപയോഗിച്ചേക്കാം.

പലരും പലപ്പോഴും കാലാവസ്ഥാ സൈറ്റ് ഇൻഫോർമർമാരെ കണ്ടിട്ടുണ്ട്, എന്നാൽ ഇത് കോർപ്പറേറ്റ് ആപ്ലിക്കേഷനുകൾക്കായി യഥാർത്ഥ വിവരങ്ങൾ നേടുന്നതിനുള്ള ഏറ്റവും സൗകര്യപ്രദമായ രീതിയല്ല, കാരണം ഇത് ലഭിച്ച വിവരങ്ങൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കാനുള്ള കഴിവ് പരിമിതപ്പെടുത്തുന്നു. അത്തരം ഒരു വിവരദാതാവ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് രണ്ട് കാര്യങ്ങൾ മാത്രമേ ചെയ്യാൻ കഴിയൂ: നിങ്ങളുടെ വെബ്‌സൈറ്റിൽ ഇത് "ഹാംഗ്" ചെയ്യുക അല്ലെങ്കിൽ അത് ഇതിനകം അവിടെ പോസ്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ അതിൽ നിന്ന് നീക്കം ചെയ്യുക. എന്നാൽ മെറ്റ് ഓഫീസ് സെർവറിൽ നിന്ന് അസംസ്‌കൃത ഡാറ്റ സ്വീകരിക്കുകയും ചില സങ്കീർണ്ണമായ പ്രവർത്തനങ്ങൾ നടത്താൻ അത് പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യേണ്ട ആപ്ലിക്കേഷനുകളുടെ കാര്യമോ?

അത്തരം പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിന്, ഒരു സ്റ്റോക്ക് എക്സ്ചേഞ്ച് അല്ലെങ്കിൽ കാലാവസ്ഥാ ഓഫീസ് സെർവറിന് വെബ് സേവനങ്ങളുടെ ദാതാവായി (വിതരണക്കാരൻ) മാറാം, കൂടാതെ ഇന്റർനെറ്റ് വഴി അവയിൽ നിന്ന് ഡാറ്റ സ്വീകരിക്കുന്ന ആപ്ലിക്കേഷനുകൾക്ക് ഈ ഡാറ്റയുടെ ഉപഭോക്താക്കളാകാം. ഈ രീതിയിൽ, ഒരു ക്ലയന്റ്-സെർവർ ആർക്കിടെക്ചർ രൂപീകരിക്കപ്പെടുന്നു, അവിടെ ഡാറ്റ ദാതാവ് സെർവറും ഉപഭോക്താവ് ക്ലയന്റുമാണ്, അതേസമയം സെർവറും ക്ലയന്റ് സോഫ്റ്റ്വെയറും പൊരുത്തപ്പെടേണ്ടതില്ല, പ്രധാന വ്യവസ്ഥ വെബ് സേവനങ്ങൾക്കുള്ള പിന്തുണയാണ്.

HTTP പോലുള്ള സാധാരണ ഇന്റർനെറ്റ് പ്രോട്ടോക്കോളുകൾ ഉപയോഗിച്ചാണ് സെർവറും ക്ലയന്റും തമ്മിലുള്ള കൈമാറ്റം നടത്തുന്നത്. വെബ് സേവനം സ്വയം വിവരിക്കുകയും അതുമായി സംവദിക്കുന്നതിന് ഒരു API നിർവചിക്കുകയും ചെയ്യുന്നു. ഈ സാഹചര്യത്തിൽ, ഈ API-യുടെ ഘടകങ്ങൾ ക്ലയന്റ് ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്ന പ്രോഗ്രാമിംഗ് ഭാഷയ്‌ക്കായുള്ള ഭാഷാ നിർമ്മാണങ്ങളായി സ്വയമേവ പരിവർത്തനം ചെയ്യപ്പെടുന്നു. WSDL (വെബ് സേവന വിവരണ ഭാഷ) സ്പെസിഫിക്കേഷൻ അനുസരിച്ചാണ് വെബ് സേവനങ്ങൾ വിവരിച്ചിരിക്കുന്നത്. ഡാറ്റ തന്നെ സെർവറിൽ നിന്ന് ക്ലയന്റിലേക്ക് SOAP ഫോർമാറ്റിൽ (ലളിതമായ ഒബ്‌ജക്റ്റ് ആക്‌സസ് പ്രോട്ടോക്കോൾ) കൈമാറുന്നു.

മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ക്ലയന്റ് ആപ്ലിക്കേഷൻ അതിന്റെ URL വഴി WSDL ഫയൽ ആക്സസ് ചെയ്യുന്നു, അതായത്. സാധാരണ GET രീതി ഉപയോഗിക്കുന്നു. അതേ സമയം, ഇതിന് വെബ് സേവന രീതികളുടെ ഒരു വിവരണം ലഭിക്കുകയും പിന്നീട് അവ സ്വന്തമായി ഉപയോഗിക്കുകയും ചെയ്യാം (അതായത്, ക്ലയന്റ് ഭാഗത്ത് അധിക കോഡ് എഴുതാതെ - വെബ് സേവനം ക്ലയന്റ് പ്രോഗ്രാമിന്റെ വിദൂര തുടർച്ചയായി മാറുന്നു. ).

അലക്സാണ്ടർ കച്ചനോവ്

സൺ, ഒറാക്കിൾ, എച്ച്പി, മൈക്രോസോഫ്റ്റ്, ഐബിഎം തുടങ്ങിയ കമ്പ്യൂട്ടർ വ്യവസായ ഭീമന്മാരാണ് വെബ് സേവനങ്ങളുടെ ആശയം വികസിപ്പിച്ചെടുത്തത്. ഈ ആശയം പുതിയ കാര്യമല്ല, എന്നാൽ വെബിലൂടെയുള്ള പ്രോഗ്രാമുകളിലേക്ക് എളുപ്പത്തിൽ ആക്സസ് ചെയ്യുന്നതിനുള്ള ഒരു വലിയ ചുവടുവയ്പ്പാണിത്. സ്റ്റാൻഡേർഡ് കമ്മ്യൂണിക്കേഷൻ ഫോർമാറ്റുകളെ അടിസ്ഥാനമാക്കി, വെബ്‌സൈറ്റുകൾ എങ്ങനെ നിർമ്മിക്കണം എന്നതിനെക്കുറിച്ചുള്ള നമ്മുടെ ചിന്തയെ വെബ് സേവനങ്ങൾക്ക് പൂർണ്ണമായും മാറ്റാനാകും.

എന്താണ് ഒരു വെബ് സേവനം?

വെബ് സേവനങ്ങൾക്ക് നന്ദി, ഏത് പ്രോഗ്രാമിന്റെയും പ്രവർത്തനങ്ങൾ ഇന്റർനെറ്റിൽ ലഭ്യമാക്കാൻ കഴിയും. അതിനാൽ, PHP, ASP, JSP സ്‌ക്രിപ്റ്റുകൾ, JavaBeans, COM ഒബ്‌ജക്‌റ്റുകൾ, ഞങ്ങളുടെ പ്രിയപ്പെട്ട പ്രോഗ്രാമിംഗ് ടൂളുകൾ എന്നിവ പോലുള്ള പ്രോഗ്രാമുകൾക്ക് ഇപ്പോൾ മറ്റൊരു സെർവറിൽ (അതായത് ഒരു വെബ് സേവനം) പ്രവർത്തിക്കുന്ന ചില പ്രോഗ്രാമുകൾ ആക്‌സസ് ചെയ്യാനും അവളുടെ വെബ്‌സൈറ്റിൽ നിന്ന് ലഭിച്ച പ്രതികരണം ഉപയോഗിക്കാനും കഴിയും, അല്ലെങ്കിൽ അപേക്ഷ.

എനിക്ക് ചില പ്രോഗ്രാമിംഗ് ടാസ്‌ക് ചെയ്യേണ്ടതുണ്ടെങ്കിൽ, ഞാൻ വളരെ തിരക്കിലാണെങ്കിൽ (അല്ലെങ്കിൽ വീണ്ടും സ്വയം വീൽ കണ്ടുപിടിക്കാൻ എന്റെ മനസ്സില്ല), ഇന്റർനെറ്റ് വഴി എന്റെ സൈറ്റ് ആക്‌സസ് ചെയ്യുന്ന ഒരു വെബ് സേവനത്തിന്റെ സേവനങ്ങൾ എനിക്ക് ഉപയോഗിക്കാം. വെബ് സേവനത്തിലേക്ക് പാരാമീറ്ററുകളുള്ള ഒരു അഭ്യർത്ഥന കൈമാറുന്നതിലൂടെ, എന്റെ അഭ്യർത്ഥന നടപ്പിലാക്കിയതിന്റെ ഫലം അടങ്ങിയ ഒരു പ്രതികരണം ലഭിക്കുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു.

ഈയിടെ എപ്പോഴെങ്കിലും ജോലി ചെയ്തിട്ടുള്ള ആർക്കും ഹോട്ട്മെയിൽ, വെബ് സേവനങ്ങൾ ഇതിനകം ഭാഗികമായി നേരിട്ടിട്ടുണ്ട്: Microsoft .NET സംരംഭത്തിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന സേവനങ്ങളിൽ ഒന്നാണ് പാസ്‌പോർട്ട് ഉപയോക്തൃ പ്രാമാണീകരണ സംവിധാനം. ഇത് നിലവിൽ സൗജന്യമായി ലഭ്യമാണ്, അതിനാൽ വെബ്‌സൈറ്റ് സ്രഷ്‌ടാക്കൾക്ക് അവരുടെ സൈറ്റിൽ ഉപയോക്തൃ പ്രാമാണീകരണം എളുപ്പത്തിൽ നടപ്പിലാക്കാൻ കഴിയും.

അടിസ്ഥാനകാര്യങ്ങൾ

വെബ് സേവനങ്ങളുടെ പിന്നിലെ തത്വങ്ങൾ അതിശയകരമാംവിധം ലളിതമാണ്. വിതരണം ചെയ്ത കമ്പ്യൂട്ടിംഗിന്റെയും ഇന്റർനെറ്റിന്റെയും ലോകത്തേക്ക് അവർ പുതുതായി ഒന്നും ചേർക്കുന്നില്ല:

  • വെബ് സേവനത്തിന്റെ ഉത്തരവാദിത്തമുള്ള വ്യക്തി തന്റെ വെബ് സേവനത്തിലേക്കുള്ള അഭ്യർത്ഥനകളുടെ ഫോർമാറ്റും അതിന്റെ പ്രതികരണങ്ങളും നിർണ്ണയിക്കുന്നു
  • നെറ്റ്‌വർക്കിലെ ഏതൊരു കമ്പ്യൂട്ടറും ഒരു വെബ് സേവനത്തിലേക്ക് അഭ്യർത്ഥിക്കുന്നു
  • ഒരു വെബ് സേവനം ഒരു അഭ്യർത്ഥന പ്രോസസ്സ് ചെയ്യുകയും ചില പ്രവർത്തനങ്ങൾ ചെയ്യുകയും തുടർന്ന് ഒരു പ്രതികരണം അയയ്ക്കുകയും ചെയ്യുന്നു

ഉദാഹരണത്തിന്, ഒരു സ്റ്റോക്ക് ഉദ്ധരണി പ്രദർശിപ്പിക്കുക, ഒരു പ്രത്യേക ഉൽപ്പന്നത്തിന്റെ വില പ്രദർശിപ്പിക്കുക, ഒരു അപ്പോയിന്റ്മെന്റ് കലണ്ടറിലെ ഒരു എൻട്രി സംരക്ഷിക്കുക, ഒരു ഭാഷയിൽ നിന്ന് മറ്റൊന്നിലേക്ക് വാചകം വിവർത്തനം ചെയ്യുക, അല്ലെങ്കിൽ ഒരു ക്രെഡിറ്റ് കാർഡ് നമ്പർ പരിശോധിക്കുക.

അടിസ്ഥാനത്തിലുള്ള മാനദണ്ഡങ്ങൾ

വെബ് സേവനങ്ങളിൽ നമുക്കെല്ലാവർക്കും പെട്ടെന്ന് താൽപ്പര്യമുണ്ടാകാനുള്ള കാരണം, അവ മാനദണ്ഡങ്ങൾ, ഡാറ്റാ കൈമാറ്റത്തിനും കൈമാറ്റത്തിനുമുള്ള ഓപ്പൺ പ്രോട്ടോക്കോളുകൾ എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ് എന്നതാണ്.

ഇതിനുമുമ്പ്, പല കമ്പനികളും സ്വന്തം ഉടമസ്ഥതയിലുള്ള മാനദണ്ഡങ്ങളും ഫോർമാറ്റുകളും വികസിപ്പിച്ചെടുത്തു. ഇപ്പോൾ പ്രവർത്തിക്കാൻ നമുക്ക് ലളിതമായ XML (എക്‌സ്‌റ്റൻസിബിൾ മാർക്ക്അപ്പ് ലാംഗ്വേജ്) അറിയേണ്ടതുണ്ട്, അത് പഴയ പരിചിതമായ HTTP പ്രോട്ടോക്കോളിലൂടെ കൈമാറുന്നു. ഇതിനർത്ഥം വെബ് സേവനങ്ങൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ എല്ലാവർക്കും ലഭ്യമാണ്, കൂടാതെ ഈ സാങ്കേതികവിദ്യകൾ തൊഴിൽപരമായി പരിചയമുള്ള വെബ് ഡെവലപ്പർമാർക്ക് ഇന്ന് വെബ് സേവനങ്ങളുമായി കളിക്കാൻ തുടങ്ങാം.

വെബ് സേവനങ്ങളും ഡെവലപ്പർമാർ നേരിട്ട മറ്റ് സാങ്കേതികവിദ്യകളും തമ്മിലുള്ള വ്യത്യാസം (ഉദാഹരണത്തിന്, DCOM, പൈപ്പുകൾ, RMI എന്ന് പേരിട്ടിരിക്കുന്ന) വെബ് സേവനങ്ങൾ ഓപ്പൺ സ്റ്റാൻഡേർഡുകളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, അവ പഠിക്കാൻ എളുപ്പമാണ്, കൂടാതെ ഈ മാനദണ്ഡങ്ങൾ ലോകമെമ്പാടും വ്യാപകമായി പിന്തുണയ്ക്കുന്നു എന്നതാണ്. വിൻഡോസ് പ്ലാറ്റ്‌ഫോമുകളും.

W3C വികസിപ്പിച്ചെടുത്ത ഒരു സ്റ്റാൻഡേർഡ് പ്രോട്ടോക്കോൾ ആണ് സിമ്പിൾ ഒബ്ജക്റ്റ് ആക്സസ് പ്രോട്ടോക്കോൾ (SOAP). വെബ് സേവനങ്ങളിലേക്കുള്ള അഭ്യർത്ഥനകളുടെ ഫോർമാറ്റ് ഇത് നിർവ്വചിക്കുന്നു.

ഒരു വെബ് സേവനവും അതിന്റെ ഉപയോക്താവും തമ്മിലുള്ള സന്ദേശങ്ങൾ SOAP എൻവലപ്പുകളിൽ പാക്കേജുചെയ്തിരിക്കുന്നു. സന്ദേശങ്ങളിൽ ഒന്നുകിൽ എന്തെങ്കിലും പ്രവൃത്തി ചെയ്യാനുള്ള അഭ്യർത്ഥന, അല്ലെങ്കിൽ ഒരു പ്രതികരണം - ഈ പ്രവർത്തനത്തിന്റെ ഫലം. എൻവലപ്പും അതിലെ ഉള്ളടക്കങ്ങളും XML-ൽ എൻകോഡ് ചെയ്‌തിരിക്കുന്നതും മനസ്സിലാക്കാൻ വളരെ എളുപ്പവുമാണ്. ഒരു വെബ് സേവനത്തിലേക്ക് HTPP വഴി അയയ്‌ക്കുമ്പോൾ ഒരു ലളിതമായ SOAP അഭ്യർത്ഥന ഇങ്ങനെയാണ് കാണപ്പെടുന്നത്:

xmlns:env="http://www.w3.org/2001/06/soap-envelope">


xmlns:m="http://www.somesite.com/Postcode">
WC1A8GH
യുകെ


ഒരു SOAP എൻവലപ്പിന്റെ പ്രധാന ഘടകങ്ങൾ കണ്ടെത്താൻ വളരെ എളുപ്പമാണ്: ഇവ രണ്ട് പാരാമീറ്ററുകളാണ് ( ("തപാൽ കോഡ്") കൂടാതെ ("രാജ്യം")), എന്ന് വിളിക്കപ്പെടുന്ന ഒരു മൂലകത്തിൽ അടങ്ങിയിരിക്കുന്നു . ഞങ്ങൾ അഭ്യർത്ഥിക്കുന്ന വെബ് സേവനത്തിന്റെ പേരാണ് ഈ ഘടകം. എൻവലപ്പിലെ മറ്റ് ഡാറ്റ, ടെക്സ്റ്റ് എൻകോഡിംഗ്, SOAP പതിപ്പ് എന്നിവ അഭ്യർത്ഥന ശരിയായി പ്രോസസ്സ് ചെയ്യാൻ വെബ് സേവനത്തെ സഹായിക്കുന്നു.

ഉത്തരം ഇതുപോലെ കാണപ്പെടും:

xmlns:env="http://www.w3.org/2001/06/soap-envelope" >

env:encodingStyle="http://www.w3.org/2001/06/soap-encoding"
xmlns:m="http://www.somesite.com/Postcode">
അതെ


ഈ സന്ദേശം മനസ്സിലാക്കാൻ കൂടുതൽ എളുപ്പമാണ്. ഘടകം ഞങ്ങളുടെ അഭ്യർത്ഥനയിൽ ഘടകത്തിലേക്ക് മാറ്റി അഭ്യർത്ഥനയ്ക്ക് മറുപടിയായി. ഈ മൂലകത്തിൽ ഒരു ഘടകം മാത്രമേ അടങ്ങിയിട്ടുള്ളൂ , ഇതിന്റെ മൂല്യം നമ്മുടെ തപാൽ കോഡ് ശരിയാണോ അല്ലയോ എന്ന് സൂചിപ്പിക്കുന്നു. അതിനാൽ, SOAP എന്ന മാജിക്കിലൂടെ, ഞങ്ങൾക്ക് ഉപയോഗപ്രദമായ ജോലി ചെയ്യുന്ന ഒരു അന്വേഷണം ഞങ്ങൾ സൃഷ്ടിച്ചു. നെറ്റ്‌വർക്ക് വഴിയുള്ള പ്രതികരണമായി, ഞങ്ങൾക്ക് ഒരു പ്രത്യേക തരം പ്രതികരണം XML-ൽ ലഭിക്കും.

ഇനി UDDI-യെ കുറിച്ച്

SOAP പ്രോട്ടോക്കോൾ ലളിതമാണെങ്കിലും, വെബ് സേവനങ്ങൾ കണ്ടെത്താൻ ഒരു മാർഗവുമില്ലെങ്കിൽ അവയ്ക്ക് കാര്യമായ പ്രയോജനമില്ല. ഭാഗ്യവശാൽ, IBM, Microsoft, Ariba എന്നിവർ മുന്നിട്ടിറങ്ങി യൂണിവേഴ്‌സൽ ഡിസ്‌ക്രിപ്‌ഷൻ, ഡിസ്‌കവറി ആൻഡ് ഇന്റഗ്രേഷൻ (UDDI) പ്രോജക്‌റ്റ് സൃഷ്‌ടിച്ചു, ഇത് വെബിലെ എല്ലാ വെബ് സേവനങ്ങളുടെയും ഒരു പൊതു കാറ്റലോഗായി മാറുമെന്ന് അവർ പ്രതീക്ഷിക്കുന്നു.

UDDI സംവിധാനം കമ്പനികൾക്ക് അവരുടെ വെബ് സേവനം പൊതുജനങ്ങൾക്ക് മുന്നിൽ തുറന്നുകാട്ടാൻ അനുവദിക്കുന്നു. ഈ ഡയറക്‌ടറി എല്ലാ വെബ് സേവനങ്ങൾക്കും ഒരു ഫോൺ ബുക്കായി പ്രവർത്തിക്കുന്നു. UDDI ഡയറക്‌ടറിയിലെ രജിസ്‌ട്രേഷൻ സൗജന്യമാണ്, കൂടാതെ ഈ ഡയറക്‌ടറിയിൽ വെബിലുടനീളമുള്ള എല്ലാ, എല്ലാ, എല്ലാ സേവനങ്ങളുടെയും വിവരണങ്ങൾ അടങ്ങിയിരിക്കുമെന്ന് പ്രോജക്‌റ്റിന്റെ സ്ഥാപകർ പ്രതീക്ഷിക്കുന്നു, അതിനാൽ ആവശ്യമുള്ള വെബ് സേവനം കണ്ടെത്തുന്നതിന്, നിങ്ങൾ ഒരു UDDI-ലേക്ക് തിരിയേണ്ടതുണ്ട്. ഡയറക്ടറി.

എല്ലാം എങ്ങനെ പ്രവർത്തിക്കുന്നു

അപ്പോൾ ഞാൻ എങ്ങനെ ശരിയായ വെബ് സേവനം കണ്ടെത്തും?

ഞാനൊരു വെബ്‌സൈറ്റ് ഡെവലപ്പറാണെന്ന് സങ്കൽപ്പിക്കുക, സൈറ്റിലേക്ക് ഒരു പുതിയ ഫീച്ചർ ചേർക്കാൻ എന്റെ ക്ലയന്റ് എന്നോട് ആവശ്യപ്പെട്ടു: രജിസ്ട്രേഷൻ ഫോമിൽ എനിക്ക് ഒരു പിൻ കോഡ് പരിശോധന ചേർക്കേണ്ടതുണ്ട്.

ഈ പരിശോധന നടത്താൻ, ഞങ്ങളുടെ കമ്പനി ബിസിനസ്സ് നടത്തുന്ന എല്ലാ 30 രാജ്യങ്ങളിലെയും എല്ലാ പിൻ കോഡുകളുടെയും ഒരു ഡാറ്റാബേസ് ഞാൻ സൃഷ്ടിക്കേണ്ടതുണ്ട്, തുടർന്ന് രജിസ്ട്രേഷൻ സമയത്ത് രജിസ്ട്രേഷനിൽ വ്യക്തമാക്കിയ നഗരവുമായി പിൻ കോഡ് പൊരുത്തപ്പെടുന്നുണ്ടോയെന്ന് പരിശോധിക്കുക. എന്നാൽ എനിക്ക് ഈ ഡാറ്റ ഇല്ല, അത്തരം ഡാറ്റ ശേഖരിക്കുന്നതിന് ഗണ്യമായ തുക ചെലവഴിക്കേണ്ടിവരുമെന്ന് ഞാൻ കരുതുന്നു.

ഒരു ഡാറ്റാബേസ് വാങ്ങാൻ പണം ചെലവഴിക്കുന്നതിനുപകരം, കോഡ് സ്വയം എഴുതുക, എല്ലാ ഡാറ്റയുടെയും സമഗ്രതയും കൃത്യതയും ഉറപ്പുവരുത്തുകയും സ്ക്രിപ്റ്റുകൾ ഡീബഗ് ചെയ്യുകയും ചെയ്യുക, ഞാൻ UDDI ഡയറക്‌ടറിയിൽ പോയി ജോലി ചെയ്യാൻ കഴിയുന്ന ഒരു വെബ് സേവനമുണ്ടോ എന്ന് നോക്കുക. എന്നെ . http://www.uddi.org/ എന്ന സൈറ്റിൽ എത്തുമ്പോൾ, ഞാൻ ഒരു തിരയൽ ആരംഭിക്കുകയും XYZ Corp-ൽ നിന്ന് ഒരു മികച്ച സേവനം കണ്ടെത്തുകയും ചെയ്യുന്നു.

ഞാൻ വെബ് സേവന ഫോർമാറ്റ് നിർവചനം ശ്രദ്ധാപൂർവ്വം അവലോകനം ചെയ്യുന്നു (നിർവചനം WSDL-ൽ എഴുതിയിരിക്കുന്നു (വെബ് സേവന വിവരണ ഭാഷ), സേവനം എനിക്ക് ആവശ്യമുള്ളത് കൃത്യമായി ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുന്നു. തുടർന്ന് XYZ കോർപ്പറേഷന്റെ പ്രശസ്തിയെക്കുറിച്ച് ഞാൻ എന്റെ സഹപ്രവർത്തകരുമായി പരിശോധിച്ച് കണ്ടെത്തുക. അത് ദൃഢമാണ്, തുടർന്ന് വിലനിർണ്ണയത്തെക്കുറിച്ച് XYZ കോർപ്പറേഷനുമായി ബന്ധപ്പെടുക. സേവനം ആക്‌സസ് ചെയ്യുന്നതിനുള്ള വില എന്റെ ബഡ്ജറ്റിനുള്ളിലാണെങ്കിൽ, XYZ കോർപ്പറേഷന്റെ വെബ് സേവനത്തെ വിളിക്കുന്ന എന്റെ സൈറ്റിനായി ഞാൻ ഒരു ലളിതമായ JSP പേജ് എഴുതുന്നു, ഇതാ, തൽക്ഷണ പരിശോധന സൈറ്റ് പോസ്റ്റൽ കോഡിൽ ദൃശ്യമാകുന്നു.

ഇത് നിങ്ങളുടെ സമയം വിലമതിക്കുന്നു

പ്രോഗ്രാമിംഗുമായോ വെബ്‌സൈറ്റ് വികസന സാങ്കേതികവിദ്യകളുമായോ നിങ്ങൾക്ക് യാതൊരു ബന്ധവുമില്ലെങ്കിലും, വെബ് സേവനങ്ങളെക്കുറിച്ച് കൂടുതലറിയുന്നത് മൂല്യവത്താണ്. നിങ്ങൾ ഒരു ക്ലയന്റുമായി ഒരു പുതിയ വെബ്‌സൈറ്റ് എങ്ങനെ ചർച്ച ചെയ്യുന്നു, പുതിയ പ്രോജക്റ്റിന്റെ എല്ലാ പ്രവർത്തനങ്ങളും ചർച്ച ചെയ്യുന്നതിന്റെ ഒരു ചിത്രം സങ്കൽപ്പിക്കുക. എല്ലാം മികച്ചതാണ്: ബജറ്റ് ഉപഭോക്താവിന്റെ പ്രതീക്ഷകൾ നിറവേറ്റുന്നു, സൈറ്റ് പ്ലാനിന്റെ സ്കെച്ച് അദ്ദേഹം ഇഷ്ടപ്പെട്ടു, ഇന്റർഫേസ് ഉദാഹരണങ്ങൾ ഇഷ്ടപ്പെട്ടു. എല്ലാം പ്രവർത്തിക്കുന്നതായി തോന്നുന്നു.

പെട്ടെന്ന് അവർ വളരെ സങ്കീർണ്ണമായ ചില പ്രവർത്തനങ്ങൾ ഓർക്കുന്നു. അതിന്റെ പരാമർശത്തിൽ തന്നെ, നിങ്ങളുടെ വെബ് ഡെവലപ്പറുടെ മുഖം പച്ചയായി മാറുകയും അയാൾ ശ്വാസംമുട്ടാനും ചുമയ്ക്കാനും തുടങ്ങുന്നു. ഈ ഫീച്ചർ വികസിപ്പിക്കുന്നതിന് ധാരാളം പണവും സമയവും വേണ്ടിവരുമെന്നോ അല്ലെങ്കിൽ അത്തരമൊരു ബഡ്ജറ്റിൽ അത് പ്രായോഗികമല്ലെന്നോ ഉള്ള ഒരു സിഗ്നൽ ഡെവലപ്പർ നിങ്ങൾക്ക് നൽകുന്നു.

നിങ്ങളുടെ ഭയം ഉപേക്ഷിക്കുക! നിങ്ങൾക്ക് ആവശ്യമായ ഫംഗ്ഷൻ നൽകാൻ തയ്യാറായ ഒരു വെബ് സേവനം ഇന്റർനെറ്റിൽ ഇതിനകം ഉണ്ടെന്ന് ഉറപ്പ് നൽകാൻ ഞാൻ തയ്യാറാണ്, കൂടാതെ ഈ വെബ് സേവനം ഉപയോഗിക്കുന്നതിനുള്ള ചെലവ് അതിന്റെ അനലോഗ് സ്വതന്ത്രമായി വികസിപ്പിക്കുന്നതിനുള്ള ചെലവിനേക്കാൾ വളരെ കുറവായിരിക്കും. ഇതുവഴി നിങ്ങളുടെ ഡവലപ്പറെ അനാവശ്യ തലവേദനകളിൽ നിന്നും നിങ്ങളുടെ ക്ലയന്റിനെ UDDI കാറ്റലോഗ് ബ്രൗസുചെയ്യുന്നതിന് കുറച്ച് മിനിറ്റ് ചിലവഴിച്ച് പണം പാഴാക്കുന്നതിൽ നിന്നും രക്ഷിക്കുന്നു.

സേവന വികസനം

തീർച്ചയായും, ഡെവലപ്പർമാർ മറ്റുള്ളവർ സൃഷ്‌ടിച്ച വെബ് സേവനങ്ങളിൽ മാത്രം സംതൃപ്തരായിരിക്കണമെന്നില്ല. ഇനിപ്പറയുന്ന ടൂൾകിറ്റുകളിൽ ഒന്ന് ഉപയോഗിച്ച്, നിങ്ങൾക്ക് നിങ്ങളുടെ സ്വന്തം വെബ് സേവനം സൃഷ്ടിക്കാനും അതിന്റെ സേവനങ്ങൾ മറ്റ് ഇന്റർനെറ്റ് ഉപയോക്താക്കൾക്ക് നൽകാനും കഴിയും.

വെബ് സേവനങ്ങൾ വികസിപ്പിക്കുന്നതിനുള്ള ഉപകരണങ്ങളുടെ തിരഞ്ഞെടുപ്പ് വിപുലമാണ്. സൺ (ഓപ്പൺ നെറ്റ്), മൈക്രോസോഫ്റ്റ് (.NET), (ഇ-സേവനങ്ങൾ), IBM (വെബ് സേവനങ്ങൾ) തുടങ്ങിയ കമ്പനികളിൽ നിന്നുള്ള ഉപകരണങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നു. ഓപ്പൺ സോഴ്‌സ് ചട്ടക്കൂടുകളും ഉണ്ട്. ഉദാഹരണത്തിന്, Unix ഉൾപ്പെടെ എല്ലാ പ്ലാറ്റ്‌ഫോമുകളിലും ഒരേ വെബ് സേവനങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിന് കംപൈലറുകൾ, റൺടൈം, ലൈബ്രറികൾ എന്നിവ നൽകിക്കൊണ്ട് Microsoft-ന്റെ .NET ടൂൾകിറ്റിന് പകരം വയ്ക്കാൻ മോണോ പ്രോജക്റ്റ് ലക്ഷ്യമിടുന്നു.

വൈവിധ്യമാർന്ന സെർവറുകളും വെബ് സേവന വികസന ഉപകരണങ്ങളും ഉണ്ടായിരുന്നിട്ടും, അവയെല്ലാം ഒരേ SOAP പ്രോട്ടോക്കോൾ, XML ഭാഷ, UDDI സിസ്റ്റം എന്നിവയെ പിന്തുണയ്ക്കുന്നു.

കുറവുകൾ

ഒരു പ്രോഗ്രാമർ എന്ന നിലയിലുള്ള എന്റെ കരിയർ പൂർണ്ണമായും ഉപേക്ഷിച്ച് വെബ് സേവനങ്ങൾ ഉപയോഗിക്കുന്നതിന് സ്വയം സമർപ്പിക്കുന്നതിന് മുമ്പ്, എനിക്ക് എന്നോട് തന്നെ ഒരു ചോദ്യം ചോദിക്കേണ്ടതുണ്ട്: "ഇത് വളരെ മനോഹരമായ ഒരു ചിത്രമാണ്. അതിൽ എന്താണ് തെറ്റ്?" നിർഭാഗ്യവശാൽ, വെബ് സേവനങ്ങളുടെ വലിയ സാധ്യതകൾ ഒരു വിലയിൽ വരുന്നു:

  • XML ഒരു ഡാറ്റാ ട്രാൻസ്ഫർ ഫോർമാറ്റായി ഉപയോഗിക്കുന്നത് അർത്ഥമാക്കുന്നത് നിങ്ങളുടെ സന്ദേശങ്ങൾ വലുപ്പത്തിൽ വളരെ വലുതായിരിക്കും എന്നാണ്: XML ടാഗുകൾ തന്നെ ധാരാളം ഇടം എടുക്കുന്നു, ഇത് സന്ദേശങ്ങൾ സൃഷ്ടിക്കുന്നതിനും കൈമാറുന്നതിനും വ്യാഖ്യാനിക്കുന്നതിനും ഞങ്ങൾക്ക് ഒരു നിശ്ചിത ഭാരം ചുമത്തുന്നു.
  • ചില പ്രവർത്തനങ്ങൾ നിർവഹിക്കുന്നതിന് ഞങ്ങൾ റിമോട്ട് കമ്പ്യൂട്ടറുകൾ ഉപയോഗിക്കുന്നതിനാൽ, ഞങ്ങൾ പൂർണ്ണമായും ഇന്റർനെറ്റിനെ ആശ്രയിക്കുന്നു, ഇത് ഞങ്ങളുടെ വെബ് സെർവറിനും വെബ് സേവനത്തിനും ഇടയിലുള്ള ശൃംഖലയിൽ വളരെയധികം വിശ്വസനീയമല്ലാത്ത ലിങ്കുകൾ സൃഷ്ടിക്കുന്നു.
  • ഇന്ന്, കുറച്ച് കമ്പനികൾ വെബ് സേവനങ്ങൾ സൃഷ്ടിക്കുന്നു, കുറച്ച് കമ്പനികൾ അവ ഉപയോഗിക്കുന്നു. വെബ് സേവന സംവിധാനം ഡീബഗ്ഗ് ചെയ്യുന്നതിനും മെച്ചപ്പെടുത്തുന്നതിനും ഇനിയും ഏറെ സമയം ആവശ്യമാണ്.
  • വെബ് സേവനങ്ങളുടെ ഉപയോഗത്തിന് ലൈസൻസ് നൽകുന്നതിനും നിരക്ക് ഈടാക്കുന്നതിനുമുള്ള സംവിധാനം ഡെവലപ്പർമാർ ഇതുവരെ അംഗീകരിച്ചിട്ടില്ല. ഇപ്പോഴും വളരെ കുറച്ച് വെബ് സേവനങ്ങൾ ഉള്ളതിനാൽ, മിക്ക കമ്പനികളും സേവനങ്ങളുടെ വില മനഃപൂർവ്വം കുറയ്ക്കുകയും അനുകൂലമായ ലൈസൻസിംഗ് നിബന്ധനകൾ വാഗ്ദാനം ചെയ്യുകയും ചെയ്തുകൊണ്ട് തങ്ങളുടെ സാധ്യതയുള്ള ക്ലയന്റുകളിൽ നല്ല മതിപ്പ് ഉണ്ടാക്കാൻ ശ്രമിക്കുന്നു. വെബ് സേവനങ്ങളുടെ യഥാർത്ഥ വില വ്യക്തമാകുന്നതിന് ഇനിയും കുറച്ച് സമയമെടുക്കും.

വെബ് സേവനങ്ങൾ അവയുടെ സ്ഥാനം ഏറ്റെടുക്കുകയും എല്ലാവർക്കും ലഭ്യമാകുകയും ചെയ്യുമ്പോൾ, അവ വെബ് ഡെവലപ്പർമാർക്ക് വിലമതിക്കാനാവാത്ത സഹായമായി മാറും. നെറ്റ്‌വർക്കിലെ എല്ലാ കമ്പ്യൂട്ടറുകളുടെയും പൂർണ്ണ ശക്തിയിലേക്ക് അവ ഞങ്ങൾക്ക് ഫ്ലെക്സിബിൾ ആക്സസ് നൽകും. വെബ്‌സൈറ്റ് നിർമ്മാതാക്കൾക്ക് വെബ് സേവനങ്ങളിൽ താൽപ്പര്യമുണ്ടാകാനും അവയിൽ നിന്ന് അവർക്ക് എന്ത് നേടാനാകും എന്നതിനെക്കുറിച്ച് കൂടുതലറിയാനും സമയമായി.