Веб-қосымшаның сипаттамасы тілі - Web Application Description Language

The Веб-қосымшаны сипаттау тілі (WADL) машинада оқуға болады XML сипаттамасы HTTP - негізделген веб-қызметтер.[1] WADL қызмет ұсынатын ресурстарды және олардың арасындағы қатынастарды модельдейді.[1] WADL вебтің қолданыстағы HTTP архитектурасына негізделген веб-қызметтерді қайта пайдалануды жеңілдетуге арналған.[1][2] Бұл платформаға және тілге тәуелді емес, сонымен қатар веб-шолғышта негізгі қолданыстан тыс қосымшаларды қайта қолдануға ықпал етеді.[1]

WADL ұсынылды Дүниежүзілік желі консорциумы арқылы Sun Microsystems 2009 жылғы 31 тамызда[1], бірақ консорциумда оны стандарттаудың қазіргі жоспарлары жоқ[2]. WADL бұл Демалыс баламасы Сабын Келіңіздер Веб-қызметтерді сипаттау тілі (WSDL), оны сипаттау үшін де қолдануға болады Демалыс веб-қызметтер.[3]

Пішім

Қызмет жиынтығы арқылы сипатталады ресурс элементтер. Әр ресурста бар парам кірістерді сипаттайтын элементтер және әдіс сипаттайтын элементтер сұрау және жауап ресурс. The сұрау элемент кірісті қалай ұсынуға болатындығын, қандай типтер қажет екенін және қажет кез-келген HTTP тақырыптарын анықтайды. The жауап қызметтің жауабын, сондай-ақ қателіктерді жою үшін кез-келген ақаулық туралы ақпаратты ұсынады.

Мысал

Келесі тізім Yahoo News Search қосымшасына арналған WADL сипаттамасының мысалын көрсетеді.

 <өтінім xmlns: xsi =«http://www.w3.org/2001/XMLSchema-instance»   xsi: schemaLocation =«http://wadl.dev.java.net/2009/02 wadl.xsd»   xmlns: tns =«урн: yahoo: yn» xmlns: yn =«урн: yahoo: yn» xmlns: ya =«урн: yahoo: api»  xmlns: xsd =«http://www.w3.org/2001/XMLSchema»   xmlns =«http://wadl.dev.java.net/2009/02»>    <grammars>      <қосу href =«NewsSearchResponse.xsd»/>      <қосу href =«Error.xsd»/>    </grammars>     <ресурстар негіз =«http://api.search.yahoo.com/NewsSearchService/V1/»>      <ресурс жол =«жаңалықтар іздеу»>        <әдісі аты =«АЛУ» id =«іздеу»>          <request>            <парам аты =«appid» түр =«xsd: string» стиль =«сұрау» қажет =«шын»/>            <парам аты =«сұрау» түр =«xsd: string» стиль =«сұрау» қажет =«шын»/>            <парам аты =«тип» стиль =«сұрау» әдепкі =«барлық»>              <опция мәні =«барлық»/>              <опция мәні =«кез келген»/>              <опция мәні =«фраза»/>            </param>            <парам аты =«нәтижелер» стиль =«сұрау» түр =«xsd: int» әдепкі ="10"/>            <парам аты =«бастау» стиль =«сұрау» түр =«xsd: int» әдепкі ="1"/>            <парам аты =«сұрыптау» стиль =«сұрау» әдепкі =«дәреже»>              <опция мәні =«дәреже»/>              <опция мәні =«күн»/>            </param>            <парам аты =«тіл» стиль =«сұрау» түр =«xsd: string»/>          </request>          <жауап күй ="200">            <өкілдік mediaType =«application / xml» элемент =«yn: ResultSet»/>          </response>          <жауап күй ="400">            <өкілдік mediaType =«application / xml» элемент =«я: қате»/>          </response>        </method>      </resource>    </resources> </application>

WADL құрыңыз немесе WADL кодын жасаңыз

Java

Бұрыннан бар WADL-ден java кодын жасауға арналған бірнеше құралдар бар:[4][5]


WADL мысалы CXF жасаған

<қолданба xmlns =«http://research.sun.com/wadl/2006/10» xmlns: xs =«http://www.w3.org/2001/XMLSchema»>  <grammars>     xmlns: xs =«http://www.w3.org/2001/XMLSchema» attributeFormDefault =«біліктілігі жоқ»               elementFormDefault =«біліктілігі жоқ»>       аты =«appProfile» түр =«appProfile»/>       аты =«customerProfile» түр =«customerProfile»/>       аты =«customerProfile»>        <xs:sequence>           minOccurs ="0" аты =«accessPaymentServicesEnabled» түр =«xs: логикалық»/>           maxOccurs =«шектеусіз» minOccurs ="0" аты =«атрибуттар» nillable =«шын» түр =«атрибут»/>           minOccurs ="0" аты =«billingType» түр =«xs: string»/>           minOccurs ="0" аты =«defaultCurrency» түр =«xs: string»/>           minOccurs ="0" аты =«defaultSpendingLimitCurrency» түр =«xs: string»/>           minOccurs ="0" аты =«maximumSpendingLimit» түр =«xs: double»/>           minOccurs ="0" аты =«minimumSpendingLimit» түр =«xs: double»/>           minOccurs ="0" аты =«customerCategory» түр =«xs: string»/>           minOccurs ="0" аты =«тапсырыс беруші қосылған» түр =«xs: логикалық»/>           minOccurs ="0" аты =«тұтынушының аты» түр =«xs: string»/>           minOccurs ="0" аты =«paymentNotificationEndpointAddress» түр =«xs: string»/>           minOccurs ="0" аты =«pseCustomerId» түр =«xs: string»/>           minOccurs ="0" аты =«resourceURL» түр =«xs: string»/>           minOccurs ="0" аты =«есеп айырысу келісімшарттары» түр =«xs: string»/>           minOccurs ="0" аты =«isSpendingLimitEnabled» түр =«xs: логикалық»/>           minOccurs ="0" аты =«abcCustomerId» түр =«xs: string»/>        </xs:sequence>      </xs:complexType>       аты =«атрибут»>        <xs:sequence>           minOccurs ="0" аты =«кілт» түр =«xs: string»/>           minOccurs ="0" аты =«мән» түр =«xs: string»/>        </xs:sequence>      </xs:complexType>       аты =«appProfile»>        <xs:sequence>           minOccurs ="0" аты =«appEnabled» түр =«xs: логикалық»/>           minOccurs ="0" аты =«appName» түр =«xs: string»/>           minOccurs ="0" аты =«appPassword» түр =«xs: string»/>           minOccurs ="0" аты =«appUserName» түр =«xs: string»/>           minOccurs ="0" аты =«appUuid» түр =«xs: string»/>           maxOccurs =«шектеусіз» minOccurs ="0" аты =«атрибуттар» nillable =«шын» түр =«атрибут»/>           minOccurs ="0" аты =«сипаттама» түр =«xs: string»/>           minOccurs ="0" аты =«тұтынушының аты» түр =«xs: string»/>           minOccurs ="0" аты =«resourceURL» түр =«xs: string»/>           minOccurs ="0" аты =«serviceContractName» түр =«xs: string»/>           minOccurs ="0" аты =«abcAppId» түр =«xs: string»/>        </xs:sequence>      </xs:complexType>    </xs:schema>  </grammars>  <ресурстар негіз =«http: // mpsamara-mobl-vm1: 9078 / customermanagement / v1»>    <ресурс жол =«/ тұтынушылар»>      <ресурс жол ="/">        <әдісі аты =«ЖОЮ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>        <әдісі аты =«АЛУ»>          <request>            <парам аты =«бет» стиль =«сұрау» түр =«xs: int»/>            <парам аты =«kısmiCustomerName» стиль =«сұрау» түр =«xs: string»/>          </request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>        <әдісі аты =«ПОСТ»>          <request>            <өкілдік mediaType =«app / json»/>          </request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>        <әдісі аты =«ҚОЙЫҢЫЗ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName}»>        <әдісі аты =«ЖОЮ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName}»>        <парам аты =«customerUserName» стиль =«шаблон» түр =«xs: string»/>        <әдісі аты =«АЛУ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>        <әдісі аты =«ПОСТ»>          <request>            <өкілдік mediaType =«app / json»/>          </request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName}»>        <әдісі аты =«ҚОЙЫҢЫЗ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName} / apps»>        <әдісі аты =«ЖОЮ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName} / apps»>        <парам аты =«customerUserName» стиль =«шаблон» түр =«xs: string»/>        <әдісі аты =«АЛУ»>          <request>            <парам аты =«бет» стиль =«сұрау» түр =«xs: int»/>          </request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>        <әдісі аты =«ПОСТ»>          <request>            <өкілдік mediaType =«app / json»/>          </request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName} / apps»>        <әдісі аты =«ҚОЙЫҢЫЗ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName} / apps / {appName}»>        <әдісі аты =«ЖОЮ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName} / apps / {appName}»>        <парам аты =«customerUserName» стиль =«шаблон» түр =«xs: string»/>        <парам аты =«appName» стиль =«шаблон» түр =«xs: string»/>        <әдісі аты =«АЛУ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>        <әдісі аты =«ПОСТ»>          <request>            <өкілдік mediaType =«app / json»/>          </request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>      <ресурс жол =«/ {customerUserName} / apps / {appName}»>        <әдісі аты =«ҚОЙЫҢЫЗ»>          <request></request>          <response>            <өкілдік mediaType =«app / json»/>          </response>        </method>      </resource>    </resource>  </resources></app>

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

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

  1. ^ а б c г. e Sun Microsystems (31 тамыз 2009). «Веб-қосымшаның сипаттамасы тілі: W3C мүшелерін жіберу 31 тамыз 2009 ж.». Дүниежүзілік желі консорциумы. Алынған 12 тамыз 2012.
  2. ^ а б Дүниежүзілік желі консорциумы (14 қазан 2009). «Веб-қосымшаны сипаттау тіліне» жіберу туралы «командалық түсініктеме. Дүниежүзілік желі консорциумы. Алынған 12 тамыз 2012.
  3. ^ Лоуренс Мандел (29 мамыр 2008). «WESTD 2.0 көмегімен REST веб-қызметтерін сипаттаңыз: нұсқаулық». IBM. Алынған 12 тамыз 2012.
  4. ^ github WADL жобасы
  5. ^ Apache CXF

Сыртқы сілтемелер