Спрощення моделі програмування
Як тільки ідея веб-сервісів стала au courant , в боротьбу вступили великі компанії, що виставили складні набори веб-сервісів, які дозволяють розробляти надійні середовища програмування для розподілених застосувань.
Успіх веба багато в чому зобов'язаний тому, що велика частина теоретичних побудов, присвячених гіпертексту, була відкинута на користь простих прагматичних рішень, які і послужили основою ідеальної конструкції. RSSстав, можливо, єдиним широко поширеним веб-сервісом саме тому, що він простий. А складні корпоративні набори все ще чекають свого часу.
Аmazonнадає два типи веб-сервісів. Перший не відступає від формалізму SOAP (Simple Object Access Protocol), тоді як другий просто здійснює передачу XMLчерез HTTPза допомогою спрощеного підходу, відомого як REST (Representational State Transfer). Веб-сервіси першого типу використовуються для B2b-транзакцій (наприклад, між Amazonі роздрібними партнерами), але 95 відсотків всіх операцій проводиться за допомогою REST.
То ж прагнення до простоти спостерігається і у іншого «сьогодення» веб-компаній. Візьмемо Google Maps. Простий AJAX-інтерфейс був швидко «розібраний» хакерами, які потім зуміли використовувати дані, що поставлялися, для організації нових сервісів.
Картографічні веб-сервіси були доступні і раніше: від Gis-вендорів ( ESRI, наприклад) і таких компаній, як Mapquestі Microsoft Mappoint. Проте Google Mapsзавоював світ, завдяки своїй простоті. І якщо експериментування з даними веб-сервісов від «сьогодення» вендорів вимагало укладання контракту, то Google Mapsбув спроектований так, що дані можна було відразу використовувати в своїх цілях — і хакери дуже скоро навчилися це робити.
Звітси можна винести декілька важливих уроків:
• підтримуйте спрощені моделі програмування і ви отримаєте вільно-зв'язаних партнерів. Проблема корпоративних веб-сервісів в тому, що вони припускають жорстко обумовлене партнерство. У багатьох випадках це виправдано, але часто найцікавіші застосування можуть бути побудовані на вельми крихкій основі.
• думайте про синдикацію, а не про координацію. Прості веб-сервіси — як RSSабо сервіси на базі REST— займаються синдикацією даних, не намагаючись контролювати, що відбувається з інформацією на іншому кінці ланцюжка. Ідея наскрізної передачі данихє одній з базових ідей самого інтернету.
• проєктуйте з урахуванням можливих переробок і поліпшень. Системи, подібні вебу, RSSі AJAX, схожі тим, що особливих перешкод для їх повторного використання не існує. Велика частина корисного софтвера знаходиться у відкритих вихідниках, а якщо і немає, то є не так вже багато способів захистити свою інтелектуальну власність. Стандартна браузерная функція «подивитися вихідник» дозволяє будь-якій людині скопіювати будь-яку веб-сторінку. RSSбув спроектований для того, щоб користувач міг читати контент тоді, коли це зручно йому, а не постачальникові інформації. Найуспішніші веб-сервіси — це, як правило, такі служби, які можуть бути змінені несподіваним для їх творців чином (some rights reserved).
Спрощення бізнесових моделей — це природня супутня обставина спрощеного програмування і спрощених зв'язків. У Web 2.0ця властивість добре використовується. Нова служба, подібна housingmaps.com, була побудована простим миттєвим злиттям двох існуючих служб. Housingmaps.comне має бізнесової моделі (поки що) — але для багатьох невеликих послуг, Google Adsense(або, можливо, Amazon, яка пов'язана з грошовими зборами, чи обидві) забезпечує успішний проект, що включає еквівалент митної моделі.
Ці приклади інтуїтивно забеспечують другий ключовий принцип Web 2.0, до якого ми звертаємося в «іноваціях у зборах.» Коли товарних компонент дуже багато, то ви можете новим і ефективним способом створити звичайною їх збіркою нове значення. Так як революція ПК сприяла багатьом можливостям для іновацій у зборі технічних пристроїв, з компаніями подiбних Dell, які роблять науку з таких збірок, і таким чином, наносять поразку компаніям, чиї бізнесові моделі потребують іновацій у розробці пристроїв, ми допускаємо, що Web 2.0забеспечить можливість компаніям, які конкурують, одержувати кращі результати при використанні і об'єднанні послуг, які забеспечуються іншими.
Читать дальше