Веб-служба, веб-сервіс (англ. web service) — програмна система, що ідентифікується рядком URI, публічні інтерфейси та прив'язки якої визначені та описані мовою XML. Опис цієї програмної системи може бути знайдено іншими програмними системами, які можуть взаємодіяти з нею відповідно до цього опису з використанням повідомлень, що базуються на XML та передаються за допомогою інтернет-протоколів.
Опис веб-служб організацією W3C відноситься до багатьох різних систем, але в основному термін стосується клієнтів та серверів, що взаємодіють за допомогою XML повідомлень по SOAP стандарту. В обох випадках робиться припущення, що існує також опис доступних операцій у форматі WSDL. Хоча наявність цього опису не є вимогою SOAP, а радше передумовою для автоматичного генерування коду на платформах Java та .NET на стороні клієнта.
Стандарти, що використовуються веб-службами:
- XML: Розширювана мова розмітки, призначена для зберігання і передачі структурованих даних;
- SOAP: Протокол обміну повідомленнями на базі XML;
- WSDL: Мова опису зовнішніх інтерфейсів веб-служби на базі XML;
- UDDI: Універсальній інтерфейс розпізнавання опису та інтеграції (Universal Discovery, Description, and Integration). Каталог веб-служб і даних про компанії, що надаються веб-служби для загального користування або конкретним компаніям.
Переваги веб-служб:
- Веб-служби забезпечують взаємодію програмних систем незалежно від платформи
- Веб-служби базуються на відкритих стандартах та протоколах. Завдяки використанню XML досягається простота розробки та відлагодження веб-служб
- Використання інтернет-протокола HTTP забезпечує взаємодію програмних систем через міжмережевий екран
Недоліки веб-служб
Більш низька продуктивність у порівнянні з технологіями CORBA, DCOM за рахунок використання текстових XML повідомлень
Платформи
Веб сервіси разгортаються на серверах прикладних програм. Декілька серверів прикладних програм:
· Axis і Tomcat (обидва являються проектами Apache).
· Mono development platform від Novell
· Microsoft .NET сервери від Microsoft
· Java Web Services Development Pack (JWSDP) від Sun Microsystems (оснований на Jakarta Tomcat)
· Zope є объектно орієнтованим сервером веб-застосунків, написаним на Python
· WebSphere Application Server від IBM (оснований на Apache і платформі J2EE)
· ColdFusion від Macromedia
· Cordys WS-AppServer
· infoRouter Document Management software Web Services API
· DotGnu від GNU Project
· JOnAS (являється частиною ObjectWeb Open Source initiative)
· WebLogic від BEA Systems
· Web Application Server від SAP (Web AS є ключовою частиною стека SAP NetWeaver)
· Pramati Application Server від Pramati Technologies Limited
· OpenEdge Platform від Progress Software
· Oracle Application Server від Oracle Corporation
· Zend Framework — open source від Zend Technologies
Юнікод
Юніко́д, (англ. Unicode), УНІфіковане КОДування — це промисловий стандарт, розроблений для уможливлення використання символів (графічних знаків) всіх писемних систем світу та узгодженого представлення (репрезентації) і обробки комп’ютерами. Удосконалений сумісно з стандартом Універсальний Набір Символів (Universal Character Set - UCS) Юнікод складається з асортименту символів, методології кодування і комплекту (набору) стандартів кодування символів, комплекту кодових таблиць для посилань на зображення символів, списку властивостей символів таких, наприклад, як верхній і нижній регістр, комплект довідкових даних комп’ютерних файлів, правил нормалізації, декомпозиції, зіставлення і зображення (рендерингу).
Стандарт запропонувала в 1991 році організація Unicode Consortium, яка об’єднує найбільші ІТ-компанії (корпорації). Unicode Consortium - неприбуткова (некомерційна) організація, яка координує розвиток Юнікоду, має амбітну мету замінити в кінцевому підсумку існуючі системи кодування символів Юнікодом і його системою стандартів UTF (Unicode Transformation Format). Успіхи Юнікоду в уніфікації наборів символів призвели до його розповсюдження і домінуючого використання в інтернаціоналізації і локалізації програмного забезпечення комп’ютерів. Стандарт був використаний у багатьох новітніх технологіях, напр. XML, мові програмування JavaScript і сучасних операційних системах.
Юнікод знімає старе обмеження на кодування символів лише одним байтом. Замість цього використовується 17 просторів, кожен з яких визначає 65536 кодів і дає можливість описати максимум 17 * 216 різних символів. Basic Multilingual Plane (BMP) — Основна Багатомовна Площина, містить майже всі символи, що коли-небудь використовуватимуться.
Юнікод має декілька реалізацій, але найпоширенішими є дві: UTF (Unicode Transformation Format) та UCS (Universal Character Set). Число після UTF визначає кількість біт виділених під один юніт, а число після UCS визначає кількість байтів. Універсальний набір символів задає однозначну відповідність символів кодам — елементам кодового простору, тобто невід’ємним цілим числам. UTF-8 став найпоширенішим для інтернаціональних кодувань.
UTF-8 є системою кодування зі змінною довжиною кодування символів, це означає що для кодування символів він використовує від 1 до 4 байт на символ. Так перший байт UTF-8 використовується для кодування ASCII, що дає повну сумісність з кодами ASCII. Перекодування кодів ASCII у кодах UTF-8 для латинських символів дуже не збільшить розмір даних, бо використовується тільки один бай на символ. В інших мовах, де напр. для кодування використовувати два байти на символ, це кодування збільшує розмір даних на приблизно 50% або більше.
UTF-8 дозволяє працювати в стандартизованому міжнародно прийнятому багатомовному середовищі, з порівняно незначним збільшенням обсягу даних. UTF-8 являє собою ідеальний спосіб передачі символів через Інтернет, електронну пошту, чат, тощо.
Коди в стандарті Unicode поділені на декілька областей. Область з кодами від U+0000 до U+007F (про запис виду «U+xxxx» дивись нижче в розділі «Кодовий простір») містить символи набору ASCII. Далі розміщені області знаків різних писемностей, знаки пунктуації і технічні символи. Частина кодів зарезервована для використання в майбутньому. Для символів кирилиці виділені коди від U+0400 до U+052F.