<���статья
название=”Ориентация на язык”
автор=”Дмитрий Кириллов”>
<���раздел название=”Введение”/>
<���раздел название=”Языковые инструментарии”>
<���раздел название=”Проектирование DSL”/>
<���раздел название=”Создание редактора”/>
</раздел>
</статья>
Забавно, что практически сразу же после появления XML отовсюду посыпались различные идеи «разработки, основанной на метаданных» (metadata-driven development), созвучные концепции языковых инструментариев. Но... громоздкость конструкций (обратная сторона самоописательности XML), а также, мягко говоря, их ограниченная выразительность зачастую сводят на нет любые попытки построить практичный DSL на основе XML. Чтобы это понять, достаточно представить себе мир, в котором для формирования запроса к базе данных вместо простого и компактного оператора SELECT языка SQL каждый раз пишут монстров, пестрящих угловыми скобками.
Что же касается возможностей построения метапрограмм-генераторов, то, как показывает опыт развития средств разработки веб-приложений, связка XML/XSLT проиграла сражение на этом поле технологиям динамических серверных страниц (PHP, JSP, ASP.NET и т. п.). Причин много, но главных, пожалуй, две:
— сложность организации взаимодействия серверных компонентов при разработке средствами XML/XSLT;
— технологии динамических серверных страниц предоставляют возможность явной реализации принципов метапрограммирования.
ФМ-ВЕЩАНИЕ: Web 2.c и Web 2.b
Автор: Феликс Мучник
Почему-то, говоря о Web 2.0, в основном обсуждают разнообразные сервисы для частных пользователей, забывая, что эти частные пользователи где-то работают, учатся. В обсуждении моей прошлой колонки, посвященной теме Web 2.0, одним из главных вопросов был следующий: как заработать на этом.
Интересно, что и Антон Антич в своей статье «Бизнес-модель для веб-стартапа: а есть ли она?», опубликованной в его блоге в феврале, тоже рассматривал модели, ориентированные только на конечного пользователя. Назовем их условно Web 2.c. Естественно, при таком подходе возникают только две модели: заработок на рекламе и платные сервисы (или некая их смесь). Это меня несколько удивило, учитывая опыт работы Антича в корпорации Microsoft, одном из самых активных продвигателей ASP-модели (приложения — как платные сервисы для компаний).
Разделение бизнес-моделей на категории в статье профессора Майкла Раппы (Michael Rappa) более подробное, учитывающее как модели «бизнес для пользователя» (B2C), так и модели «бизнес для бизнеса» ( B2B) . Например, в статье уже внесено в табличку виртуальное место для торговли (marketplace), типичным примером которого является amazon.com. Он не только торгует товарами с собственного склада, но и давно оказывает услуги другим компаниям по ведению их каталогов, ордер-процессингу и логистике служб доставки. Тот же amazon предоставляет сервис по ведению корпоративных аккаунтов компаний-покупателей (товары заказывают сотрудники, а расплачивается компания). О www.windowsmarketplace.com, на котором предоставлены программы и железо для Windows от различных продавцов, тоже давно известно. В Рунете по пути marketplace идет проект www.marex.ru от eHouse.
В Интернете предыдущей версии сервисы для бизнеса (хостинг, почта, сайты, сервисы по приему денег) предоставляли Yahoo (ныне добавившая сервис по ведению блогов) и MSN (в новой версии бета-сервис Office Live), многочисленные порталы, позволяющие сравнить цены от разных продавцов (типичные примеры в Рунете — это Price.ru, Яндекс-Маркет, Рамблер-Покупки), сервис по использованию распределенной CRM-системы и многие тому подобные. Но все они односторонние, сервер-компания. Они не дают возможности передавать информацию, деньги, товары, услуги между компаниями. Без излишней скромности, можно сказать, что некоторым приближением к концепции Web 2.b является наша система. Она позволяет общаться описанным выше способом поставщикам программ (в том числе и друг с другом через совместные пакеты программ), дилерам, компаниям-покупателям, компаниям, поддерживающим аффилированные с нами витрины. В результате четверть наших компаний-покупателей приносят нам три четверти оборота. Но чего-то в супе еще не хватает для того, чтобы мы окончательно себя ощутили частью новой версии Интернета. Чего именно не хватает всем нам, надеюсь выяснить вместе с вами, уважаемые читатели.
Вот, к примеру, одна из идей. Дарю безвозмездно, то есть даром. Есть множество курьерских служб, оказывающих услуги по доставке грузов в разные регионы, за разное время и за разные деньги. Дайте им возможность занести перечень своих тарифов в некий портал. Дайте возможность компании, которой нужно отправить пачку грузов, сформировать и разместить заказ (учитывая, что разные позиции могут отправляться разными компаниями). Дайте возможность курьерским службам в реальном времени получать эти заказы, а компаниям — отслеживать выполнение заказов. Заведите службу отзывов и хелп-деск, белые/черные списки курьеров. Далее, думаю, идею развивать не надо. Уже понятно, за что в данном случае порталу брать деньги. Конечно, за транзакции. Ведь в сегодняшней ситуации все компании (несмотря на то что компании покрупнее заводят и свои курьерские службы) вынуждены отрабатывать логистические (и не только) проблемы взаимодействия с несколькими службами доставки. По крайней мере, в электронной коммерции именно так и происходит. Думаю, в остальных отраслях совершенно такая же ситуация.
Читать дальше