Қызметті виртуалдандыру - Service virtualization - Wikipedia

Бағдарламалық жасақтама жасау
Негізгі қызмет
Парадигмалар мен модельдер
Әдістемелер және шеңберлер
Қолдау пәндері
Тәжірибелер
Құралдар
Стандарттар және білім органдары
Глоссарийлер
Контурлар

Жылы бағдарламалық жасақтама, сервисті виртуалдандыру немесе сервисті виртуалдандыру сияқты гетерогенді компоненттерге негізделген қосымшалардағы нақты компоненттердің мінез-құлқын еліктеу әдісі болып табылады API -жүргізілген өтініштер, бұлт - негізделген қосымшалар және қызметке бағытталған архитектуралар.Бұл қамтамасыз ету үшін қолданылады бағдарламалық жасақтама жасау және QA / тестілеу командалар тестіленетін бағдарламаны (AUT) қолдану үшін қажет, бірақ әзірлеу және тестілеу мақсатында қол жетімді емес немесе қол жетімді емес жүйенің тәуелді компоненттеріне қол жеткізе алады. «Виртуалдандырылған» тәуелді компоненттердің мінез-құлқымен тестілеу мен әзірлеу нақты тірі компоненттерге қол жеткізусіз жүре алады. Қызмет виртуализациясын сатушылар, салалық талдаушылар және салалық басылымдар мазақтаудан өзгеше деп таниды.[1][2] Мына жерден қараңыз API модельдеу құралдарын салыстыру.

Шолу

Сервистік виртуалдау бағдарламалық жасақтама компоненттерінің мінез-құлқын эмуляциялау және тестілеу топтарына тәуелділік шектеулерін жою үшін жасайды. Мұндай шектеулер күрделі, өзара тәуелді ортада, сыналатын қосымшаға қосылған компонент келесі жағдайда болады:

  • Әлі аяқталған жоқ
  • Әлі де дамуда
  • Үшінші тарап немесе серіктес бақылайды
  • Тек шектеулі көлемде немесе қолайсыз уақытта тестілеу үшін қол жетімді
  • Сынақ ортасында қамтамасыз ету немесе конфигурациялау қиын
  • Әр түрлі командалардың бір уақытта қол жеткізуі үшін әртүрлі тестілік деректерді орнатумен және басқа да талаптармен қажет
  • Жүктеме мен өнімділікті тексеру үшін пайдалану шектеулі немесе қымбат [3]

«Қызметті виртуалдандыру» термині техниканың виртуалдандыруға алғашқы бағытын көрсетсе де веб-қызметтер сервистік виртуалдандыру композициялық қосымшалардың барлық аспектілеріне таралады: қызметтер, мәліметтер базасы, мейнфреймдер, ESB, және жалпы хабарлама хаттамаларын қолдана отырып байланысатын басқа компоненттер.[4][5][6] Басқа ұқсас құралдар деп аталады API тренажерлар, API мысқылдау құралдары, сымның үстінде сынақ екі еселенеді.

Сервистік виртуалдандыру тек транзакцияларды аяқтау үшін әзірлеушілерге немесе тестерлерге қажет нақты тәуелді компоненттердің мінез-құлқын ғана эмуляциялайды. Бүкіл жүйелерді виртуалдандырудан гөрі, ол әзірлеу және тестілеу тапсырмаларын орындау үшін маңызды тәуелді мінез-құлықтың нақты бөліктерін виртуалдандырады. Бұл бағдарламаның логикасын жеткілікті түрде қамтамасыз етеді, сондықтан әзірлеушілер немесе тестерлер өздеріне қажеттісін нақты қызметтің аяқталуын және қол жетімді болуын күтпестен алады. Мысалы, бүкіл дерекқорды виртуалдандырудың орнына (және барлық байланысты тестілік деректерді басқаруды, сондай-ақ әр тест сессиясы үшін дерекқорды орнатуды), сіз қосымшаның дерекқормен өзара әрекеттесуін бақылап отырасыз, содан кейін сіз байланысты мәліметтер қорының әрекетін еліктейсіз ( SQL мәліметтер базасына жіберілген сұраулар, сәйкес нәтижелер жиынтығы қайтарылады және т.б.).[7][8]

Қолдану

Сервистік виртуалдау тексеріліп жатқан қосымшаны орындау үшін қажет болатын, бірақ әзірлеу және тестілеу мақсатында қол жетімділігі қиын немесе мүмкін емес нақты компоненттің әрекетін имитациялайтын «виртуалды активті» құруды және орналастыруды қамтиды.

Виртуалды актив тәуелді компонентті сұраныстарды тыңдау және тиісті жауап қайтару арқылы орындайды. Деректер базасы үшін бұған SQL операторын тыңдау, содан кейін деректер көзі жолдарын қайтару кіруі мүмкін. Веб-қызмет үшін бұл тыңдауды қамтуы мүмкін XML хабарлама аяқталды HTTP, JMS, немесе MQ, содан кейін басқа XML хабарламасын қайтарады. Виртуалды активтің функционалдығы мен өнімділігі тәуелді компоненттің нақты функционалдығын / өнімділігін көрсетуі мүмкін немесе сыналатын қосымшаның осы жағдайларда қалай жауап беретіндігін анықтау үшін ерекше жағдайларды (мысалы, шектен тыс жүктемелер немесе қателіктер) модельдеуі мүмкін.

Виртуалды активтерді әдетте:

  • Жүйе сыналатын қосымшадан (AUT) жүзеге асырылатындықтан, компоненттер арасындағы тірі байланысты тіркеу
  • Құрамдас бөліктер арасындағы тарихи байланысты білдіретін журналдар ұсыну
  • Қызмет интерфейсінің сипаттамаларын талдау (мысалы WSDL )
  • Әр түрлі интерфейсті басқару элементтерімен және деректер көзі мәндерімен әрекетті қолмен анықтау

Содан кейін олар нақты деректерді, функционалдылықты және жауап беру уақыттарын ұсынатын етіп конфигурацияланған.

Виртуалды активтер жергілікті немесе бұлтта орналастырылады (мемлекеттік немесе жеке). Виртуалды активтерді тәуелді компоненттердің орнына пайдалануға арналған әзірлеу / тестілеу орталарында әзірлеушілер немесе тестерлер тәуелді компоненттердің аяқталуын немесе оларға қол жетімді болуын күтпей-ақ, өздері жұмыс істейтін бағдарламаны қолдана алады.[4][5][8]

Салалық талдаушылар сервистік виртуалдандыру «тәуелді бағдарламалық қамтамасыздандырудың арқасында интеграциялық тестілеуді« өткізіп жіберу »тәжірибесі мол және сынақ әбзелдері бар IT-дүкендер үшін ең қолайлы» деп хабарлайды.[9]

Тістеу мен мазақтауға қатысты

Осы мақаланың кіріспесінде келтірілген сынақ ортасына қол жетімділік шектеулерімен жұмыс істеудің балама тәсілі топ мүшелерін дамыту болып табылады әдісі немесе нысандарды мазақ ету тәуелді ресурстарды алмастыратын. Бұл тәсілдің жетіспеушілігі 2000 жылдардың басында көтерілуімен айқын көрінді Қызметке бағытталған сәулет.[10] Таралуы Композициялық қосымшалар көптеген тәуелді қызметтерге, сонымен қатар жоғарылауға тәуелді Бағдарламалық жасақтаманы жылдам әзірлеу Agile Manifesto 2001 жылы жарияланғаннан кейін, әзірлеушілерге немесе тестерлерге қазіргі заманғы кәсіпорын қосымшаларын әзірлеу үшін тестілеу тапсырмаларын орындау үшін қажетті стубтардың немесе масхабтардың санын, көлемін және күрделілігін қолмен әзірлеу қиындай түсті.[11]

Стуббингтен виртуалдануға дейінгі эволюцияның алғашқы қадамы 2002 жылдан бастап SOA тестілеу құралдарына оралған технология болды.[12] Сервистік виртуалдандырудың алғашқы енгізілімдері қарапайым стуб тәрізді эмуляцияларды жасау процесін автоматтандыруға арналған, сондықтан композициялық қосымшалар тиімді түрде тексерілуі мүмкін.[13] Кәсіпорын жүйелері барған сайын күрделене және тарала бастаған кезде, бағдарламалық жасақтама жеткізушілері фокустаудан гөрі қоршаған ортаны қорғауға бағытталған виртуализацияға көшті.[3] Стубингті қолмен әзірлеу және стубтарды басқару арқылы аяқтауға болады, ал «сервистік виртуалдандыру» деп аталатын нәрсе қол жетімді біреуін қолдану арқылы аяқталады сөреден тыс коммерциялық (COTS) сервистік виртуалдандыру технологиялары, олардың «сервистік виртуалдандыру активтерін» дамыту және орналастыру алаңы ретінде.[11]

Agile және DevOps

Танымалдықтың артуы[14] туралы Бағдарламалық жасақтаманы жылдам әзірлеу және DevOps осылайша жұмыс істейтін қауымдастықтарға сервистік виртуалдандыруды ұсынатын жаңа құралдар жиынтығына сұраныс тудырды.[15] Сияқты тәжірибелер Үздіксіз жеткізу және одан алшақтау мейнфрейм және монолит дамуды көбірек үлестіруге дейін микросервис - негізделген архитектуралар сервис виртуализациясының мүмкіндіктерімен жақсы үйлеседі. Agile және DevOps командалары аз жиналған кебулерге және жеңіл лицензиялық шектеулерге ие емес құралдармен жұмыс істегенді жөн көреді.[16]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Қызметті виртуалдау - мазаққа балама, Джонатан Аллен, eBizQ 22 сәуір, 2013 ж
  2. ^ Қызметті виртуалдандыру қызметтерді сынау кезінде кездесетін кедергілерді қанағаттандыру үшін туындайды, Джордж Лоутон, SearchSOA 15 мамыр 2012 ж
  3. ^ а б Заманауи қосымшаларға арналған виртуалдандыру Автор: Гауриш Хаттангади, Виртуалды Стратегия журналы, 28 қараша, 2010 ж
  4. ^ а б Тест орталарын басқару Лиз Макмиллан, Cloud Computing Journal, желтоқсан 2011 ж
  5. ^ а б Қолдану тәртібін виртуалдандыру Элизабет Уайт, Cloud Computing Journal, желтоқсан 2011 ж
  6. ^ Даму және тексеру үшін дерекқорды виртуалдандыру Уэйн Ариоланың авторы, ST & QA журналы, наурыз 2012 ж
  7. ^ SOA және виртуалдандыруға кіріспе Мұрағатталды 2011-11-22 сағ Wayback Machine Джон Мишельсен, WebServices.org, тамыз 2007 ж
  8. ^ а б Сынақ ортасын басқарудың келесі буыны Уэйн Ариоланың, Виртуализация журналы, 12 шілде, 2011 ж
  9. ^ Parasoft және «Сервистік виртуализация» тестілеуі: жақсы идея Уэйн Керночан, IT-талдаушы бағдарламалық қамтамасыздандыру туралы ойлар, 22.02.2013 ж
  10. ^ Қызметке бағдарланған ортада тестілеу Эд Моррис және басқалар, Бағдарламалық жасақтама институты, наурыз 2010 ж
  11. ^ а б Сервистік виртуализация ұйымдарға тестілеуден бизнес құндылығын түсінуге көмектеседі Чандраншу Сингхтің, аналық жасуша, 31 наурыз, 2014 ж
  12. ^ Parasoft веб-қызметін тестілеу құралы дамуға көмектесуі керек Тереза ​​Лановиц Гартнер, 1 мамыр 2002 ж
  13. ^ SOA виртуалдануы нақты болады Рич Сили, SearchSOA, 28 қараша, 2007 ж
  14. ^ Agile & DevOps Google Trends
  15. ^ Келесі Gen Service виртуализация форумы, 13 қыркүйек 2017 ж
  16. ^ Thought Works технологиясының радиолокациясы: ірі кәсіпорын шешімдері