Мрежови приложения

© Христо Тужаров, 2012

 

КАКВО Е ТОВА  WEB 2.0

 

Home | Съдържание | Облачен компютинг | Консултации | Асеневци

 

WORLD WIDE WEB

 

ФУНКЦИОНИРАНЕ НА WEB

 

WEB СЕРВИЗИ

 

Web 2.0

 

КАКВО Е ТОВА  WEB 2.0

 

WEB 2.0 И Е БИЗНЕС

      

СЕМАНТИЧЕН WEB

 

Web 3.0

 

ИНФОРМАЦИОННИ ПРОСТРАНСТВА

Извадки от статия на Тим О’Рейли  

Основни принципи на концепцията Web 2.0

 

       Web като платформа

 

                                 История

 

                                Преди:  Платформата  винаги печели пред приложенията

Във всеки от предишните епизоди на конкурентна борба Microsoft успешно разиграва картата на платформата, изтиквайки чрез нея популярни приложения, С помощта на Windows, Microsoft замени Lotus 1-2-3 на Excel, WordPerfect — на Word, а Netscape Navigator — на Internet Explorer.

 

                                 Сега: Конфликт между две платформи - всяка от които предлага радикално различен бизнес модел.

Когато платформата се съревновава с платформа и става дума за избор на платформа или за избор на архитектура, или за избор на бизнес - модел, тогава битката се води при равни условия.

 

 

                                 От една страна, единствения доставчик на ПО с впечатляваща база инсталации, силно интегрирана ОС и API, даваща контрол над парадигмата за програмиране.

 

                Пример: Windows се явява отлично решение на проблемите от ранната епоха на персоналните компютри. Тя решава множество проблеми, терзаещи индустрията. Но днес  това не е предимство, а вече се явява проблем.

               

                                 От друга страна, система, която няма собственик, събрана е с помощта на множество протоколи, открити стандарти и споразумения за сътрудничество. Система, ориентирана към комуникации, каквато се явява Интернет като платформа, изисква взаимодействие на ниво приложения.

 

                 Пример: Netscape се опита да вземе инициатива, използвайки техники, каквито и Microsoft използва против конкурентите, но не успява. В същото време,  Apache, основан на открити Web - стандарти, процъфтява.

 

                                Извод: Правилата на играта се промениха. Да постигнат успех в епохата  Web 2.0 ще могат само тези, които приемат новите правила, а не се опитват да използват техники известни от времето на програмното осигуряване на персонални компютри.

 

        Край на  цикъла за разработка на ПО

Една от главните характеристики на съвременните Интернет приложения се явява това, че те се разпространяват във вид на услуга, а не като продукт (стока). Това от своя страна води до фундаментални изменения в бизнес - моделите за разработка на програмно осигуряване.

 

Изкуството за разработка на приложение трябва да се придружава от умение за организиране на ежедневни операции по поддръжка на работата  на тези приложения.

 

Разликата между софт/продукт и софт/услуга е толкова голяма, че не е възможно днес да се напише програмно приложение и то да бъде забравено  - необходима е постоянна поддръжка и промени.

 

             Последствия за начините на програмиране:

1. Не е случайно, че скриптовите езици — Perl, Python, PHP, а сега и Ruby — играят в  Web 2.0 толкова важна роля.

Скриптовите езици  се явяват естествен избор за системни и мрежови администратори, доколкото разработчиците създават динамични системи, изискващи постоянни промени.

 

2.  Потребителите трябва да се възприемат като съразработчици – както например, е прието при разработка на отворен софтуер.

 

3. Максимата на открития софтуер — „пускай релизи по-рано и по-често” , сега се променя на „безкрайна бета версия”.

 

Програмите се обновяват ежемесечно, ежеседмично и даже ежедневно.

 

Не случайно на логотипа на такива проекти, като Gmail, Google Maps, Flickr, del.icio.us  и т. н., думата  „beta” може да стои години.

 

      Опростени модели за програмиране

Успехът на Web  в голяма степен се дължи на това, че голяма част от теоретичните постановки, посветени на хипертекста бяха отхвърлени за сметка на прости прагматични решения, които послужиха като основа за идеална конструкция.
 

     На тази база могат да се направят следните изводи:

  • Поддържайте опростени модели за програмиране  и  ще  получите свободно - свързани партньори. Проблемът на корпоративните веб - сервизи е в това, че те предполагат твърдо уговорено партньорство. В  много от случаите това е оправдано, но често най-интересните предложения могат да бъдат построени на хрупкава основа.

  • Мислете за синдикация, а не за координация. Простите веб - сервизи — като RSS или сервизите на база REST — се занимават със синдикация  на данни, без да се опитват да контролират какво се получава на другия край на веригата.

  • Проектирайте с отчитане на възможни промени и подобрения. 

       Създаване на приложения по нов начин

Опростените бизнес модели  са в основата на опростено програмиране и свободно партньорство.

 

В Web 2.0 повторното използване не се осъжда. Когато около вас има много евтини компоненти, вие можете да създадете нещо ценно, просто събирайки от тях неочаквани и ефективни комбинации.

 

Точно така както РС революцията даде „път в живота” на компании, за асемблиране на компютри, Web 2.0 предоставя възможност на компании да събират свои приложения от чужди компоненти.

 

       Софтуерът работи над устройствата  

Web 2.0, не е привързан към платформата персонален компютър. Всяко приложение в мрежата, изисква най-малко два компютъра за своята работа” един – за сървъра и един за браузъра.

 

Развитието на Web  като платформа води до синтетични приложения, съставени от сервизи, които се представят от множество компютри.

 

        Използване  на колективен разум

Главeн принцип, лежащ в основата на успеха на гигантите, родени в епохата на Web  1.0, които създадоха Web  2.0 такъв какъвто е, се заключава в това, че те развиха Web  технологиите за сметка на колективен разум.

 

В основата на Web  лежат хипервръзките. Когато потребители създават нов контент и нови сайтове, те с помощта на други потребители открили този контент, и свързали го с хипервръзки, попадат в структурата на Web .

 

 Yahoo! — първата успешна интернет - компания. Тя се ражда като каталог от хипервръзки – резултат на старателната работа на милиони потребители.

 

Общоизвестно е, че най-успешните Интернет - проекти не са рекламирани. Своята популярност те дължат на „вирусния маркетинг”.

 

Даже голяма част от инфраструктурата на Web , включително Linux, Apache, MySQL и Perl, PHP или Python са резултат на открити източници, които са сами по себе си са примери за колективна интелектуална дейност.

 

Урок: Мрежови ефекти + взаимодействие с потребителите = пазарна доминация

 

       Блоговете и мъдростта на масите

Ако ключовата част на Web 2.0 — използването на колективен разум – превръща   Web   в някакво подобие на глобален мозък, то блогосферата  — това е неговия вътрешен глас. Може, тя да не е свързана с дълбоките структури на мозъка ( подсъзнанието), но се явява аналог на мисленето.

 

Какво трябва да умеят компаниите в епохата на Web 2.0

  • Евтино мащабиране на услуги, а не на затворено ПО;

  • Контрол над уникални, сложни за пресъздаване източници на данни, които могат да бъдат обогатявани за сметка на потребителите;

  • Отношение към  потребителите, както към съразработчици;

  • Привличане към колективен разум;

  • Прилагане на „дълга опашка” за сметка на самообслужване на потребителите;

  • Използване на софтуер, който да работи над устройствата;

  • Използване на модели за разработка на потребителски интерфейси и опростени бизнес модели.

Подходи за проектиране на Web 2.0

 

       Дълга опашка

Малките сайтове произвеждат голяма част от контента. Тесните ниши използват голяма част от приложенията.

 

      Съвет: поощрявайте самостоятелността на потребителите и осигурявайте алгоритмично управление на данните, това ще позволи да обхванете Web изцяло, не само центъра, но и края, не само главата, но и опашката.

 

       Данните – това са следващия Intel Inside.

Приложенията все по силно зависят от данните.

 

       Съвет: за получаване на конкурентно преимущество, намерете уникален, труден за пресъздаване източник на данни.

 

       Ценост, внесена от потребителите

Ключ към успешна конкуренция на пазара на интернет приложения  - обогатяване на собствените данни с помощта на потребителите.

 

       Съвет: Не ограничавайте своята „архитектура на взаимодействие” с разработка на софтуер. Явно и неявно въвличайте потребителите в процеса по подобряване на вашето приложение.

 

       Мрежови ефекти по подразбиране

Малко са потребителите, които по собствена инициатива ще започнат да ви помагат.

 

      Съвет: Направете така, че обогатяването на вашите данни се явява като страничен ефект от използване на приложението.

 

       Някои права запазени

Защитата на интелектуалната собственост ограничава повторното използване и пречи на експериментите.

 

      Съвет: Осигурете слаба защита на вашата информационна система,  доколкото това е възможно. Проектирайте с отчитане на „подобрямост” и „изменяемост”.

 

       Безкрайна бета

Когато устройствата и програмите са включени в Интернет, приложенията престават да бъдат артефакти и се превръщат в услуги.

 

      Съвет: Не се опитвайте да опаковате нови свойства в релиз, вместо това ги добавяйте когато сте готови в текущо време. Направете от своите потребители, тестери, способни да отговарят в реално време, като задължително следите за тяхната реакция.

 

        Кооперация вместо контрол

Приложенията  Web  2.0 са построени като мрежа от услуги, работещи съвместно.

 

     Съвет: откривайте интерфейси на Web сервизи, осигурете синдикация на контента, като използвате чужди Web сервизи ако е необходимо. Използвайте опростени модели при програмиране за създаване  на свободно свързани системи.

 

       Програмите работят над устройствата

Персоналния компютър повече не се явява единствено устройство, на което могат да се изпълняват Интернет приложения, а приложението ограничено от едно устройство е по-малко ценно от негов универсален конкурент.

 

      Съвет: проектирайте приложението така, че то да може да работи над джобните устройства, персонални компютри и Интернет сървъри.