Чтоб созданное все сводить на .NET
АрхивСложилась довольно интересная ситуация. С одной стороны, предприятия накапливают и худо-бедно используют информацию. А с другой - внешние структуры оказываются от этой информации отрезанными.
Сложилась довольно интересная ситуация. С одной стороны, предприятия накапливают и худо-бедно используют информацию. А с другой - внешние структуры (филиалы, поставщики, клиенты) оказываются от этой информации отрезанными. Отчасти проблема решается с помощью CRM, B2B, SCM и тому подобных систем, но для каждого «нового» вида информации или действия приходится «придумывать» и реализовывать новую схему. Естественно, что с течением времени и число таких систем, и объем информации в них растет, порождая новые проблемы - совместимости, переноса из системы в систему, совместного использования и многие другие. Как ни странно, разорвать этот порочный круг могла бы новая технология, изначально «заточенная» не только для обработки, но и для доставки информации, а также взаимодействия в разнородной среде.
В принципе, Microsoft .Net и является такой концепцией - объединяющей с помощью XML различные приложения, которые обеспечивают взаимодействие между компаниями, и высвобождающей информацию. По сути, это набор инициатив (технологий, протоколов, стандартов, средств разработки и т. д.), призванный «объединить все со всем» на базе так называемых интеллектуальных веб-служб 1.
Зачем это нужно потребителю?
Как правило, предлагая ту или иную веб-технологию, компания-разработчик ориентируется прежде всего на тех, кто связан с разработкой и внедрением ПО, а для конечного пользователя кардинально ничего не меняется - ну разве что могут появиться более удобные и быстрые приложения. В данном случае, возможно, изменения будут носить более «революционный» характер. Возьмем для примера простейшую ситуацию - покупку книги через Интернет. Обычно это происходит так:
-
Вы узнаете адреса нескольких виртуальных магазинов и поочередно посещаете их, причем на каждом сайте снова вводите название книги, имя автора и другие параметры.
-
Предположим, что нужного издания нет. Тогда вы либо подписываетесь на список рассылки о новых поступлениях в парочке магазинов, либо периодически посещаете их и просматриваете каталог.
-
Наконец, книга поступила. Вы регистрируетесь на сайте магазина (хотя, возможно, это ваша первая и последняя покупка в данном месте), указываете номер кредитной карты (не очень актуально для России, но будем надеяться на лучшее) и свой адрес.
А вот как будет выглядеть такой же процесс в недалеком (надеюсь) будущем:
-
Вы регистрируетесь в единой паспортной системе (Passport .Net), указываете свои данные, а также некую сопутствующую информацию (предпочтения, интересы и пр.) и получаете цифровое удостоверение. Раз зарегистрировавшись, вам уже больше никогда не придется вводить свои ФИО и прочие реквизиты - все поставщики, с вашего согласия, будут черпать эту информацию из паспортного центра.
-
Найдя адреса виртуальных магазинов, вы поочередно посещаете их в поисках нужной книги - при этом профиль искомой книги можно сохранить, чтобы не вводить его каждый раз. На основе ваших профилей (если, конечно, вы разрешите воспользоваться вашими идентификационными данными) магазины смогут предложить товары интересующей вас тематики - вот она, мечта маркетологов!
-
Если книги нет, вы подписываетесь на сообщение о ее поступлении (причем, если не указать специально, никакой дополнительной рекламной рассылки не будет). Известить о поступлении книги вас могут не только по электронной почте, но и, например, по Microsoft Instant Messenger или ICQ. Получив сообщение, вы одним кликом оказываетесь на странице заказа (регистрироваться не надо, необходимые данные известны) - и заказ готов.
Плюсы очевидны: во-первых, единовременная регистрация; во-вторых, гораздо менее рутинный поиск (наверняка появятся глобальные системы поиска по магазинам, благо информация о товарах будет стандартизирована) 2.
Зачем это нужно бизнесу?
Бизнес вынужден подстраиваться к тому, что в инфраструктуру .Net-приложений вовлекается всё больше пользователей. Но даже если не брать в расчет «вынужденность», новая концепция приносит новые возможности и порождает новые виды бизнеса. Например, возникает перспектива появления информационных порталов - централизованных служб по извлечению и доставке информации. Вместо того чтобы подписываться на новости с десятка сайтов, а еще десяток посещать лично, вы становитесь клиентом такого портала. Помимо централизованного управления «желанным спамом», веб-служба портала может делать целый ряд полезных вещей: к примеру, находить среди новинок произведения одного автора или книги определенной тематики и информировать об этом, а при наличии той или иной книги в нескольких магазинах сообщать, в каком из них минимальна цена или срок доставки. Вдобавок со специализированных сайтов вам перешлют рецензии на книгу. Подобные порталы могут быть бесплатными, существуя на проценты с продаж или ставку, взимаемую за представление информации с продавцов.
Среда и структура .Net Основу среды составляет операционная система, под управлением которой работает среда исполнения (Common Language Runtime) и ее сервисы - библиотеки классов: базовой логики, манипуляции данных, обеспечения безопасности, отображения информации, электронной почты, Интернета и многие другие. Поверх них работают WebService, WebForms, WinForms и др. (рис. 1). Общая структура .Net-платформы выглядит так (рис. 2):
|
Чем это грозит разработчику?
Предполагается, что разработчиков, вставших на путь внедрения .Net, больше не будут волновать проблемы интеграции приложений. .Net обеспечивает инфраструктуру взаимодействия, а Интернет служит средством коммуникации и объединения прикладных служб различных производителей. Единственное препятствие на этом пути - необходимость прибегнуть к новым средствам разработки. Роль инструментария на платформе Windows отведена Visual Studio .Net, в комплект поставки которого войдут средства создания, развертывания и сопровождения как локальных, так и распределенных веб-приложений масштаба предприятия.
Связующим звеном, позволяющим интегрировать различные приложения, является XML. Visual Studio .Net включает средства программирования, основанные на XML, которые обеспечат интеграцию без необходимости изучения последнего. Более того, конкретный язык программирования тоже не является чем-то определяющим. В настоящий момент создание .Net-приложений в равной степени возможно на Visual Basic, C++, C#, Visual FoxPro и JavaScript. В ближайшее время предвидится портирование Cobol и Eiffel, а в будущем возможен перенос на .NET-платформу и других языков.
Принцип функционирования .Net-приложения в чем-то схож с Visual Basic и Java 3. Приложение компилируется в промежуточный байт-код (в оригинале IL - intermediate language) а затем «виртуальная .Net-машина» 4 исполняет его 5. Microsoft позиционирует С# как универсальную переносимую платформу, каковой сейчас считается Java. Предполагается, что, портировав «виртуальную .Net-машину» на различные платформы, удастся добиться почти невозможного - работы одних и тех же приложений без перекомпиляции не только на платформе Windows, а, например, на Mac OS X или Linux. Последнее может стать реальностью уже в ближайшем будущем - компания Ximian, специализирующаяся на проектировании пользовательских интерфейсов под Linux, работает над Linux-версией платформы Microsoft .Net - Ximian Mono Project, которая позволит создавать .Net -совместимые приложения и выполнять приложения .Net, изначально написанные для Windows. Исходные коды будут, разумеется, открытыми.
В заключение хотелось бы сказать пару слов о «взаимоотношениях» Java и .Net. Безусловно, эти технологии имеют много общего, и вполне возможно, что одной из причин, побудивших Microsoft выпустить .Net, были многочисленные препирательства с Sun, упорно не желавшей идти на компромисс. В конце концов, у Microsoft, как чисто софтверной компании, есть гораздо больше причин для подобной инициативы, обещающей стать основным направлением развития веб-технологий на ближайшие годы.
Серверные продукты .Net Практически все основные продукты линейки подверглись основательной модернизации, а кое-где и слиянию. В итоге мы имеем следующий набор:
|
Напомним, что полтора года назад судебным решением Microsoft выплатила Sun компенсацию в 20 млн. долларов и лишилась права использовать в своих продуктах торговую марку «Java Compatible». Тем не менее, Microsoft продолжает поддержку языка Java, преимущественно в рамках программы JUMP - миграции в собственные языки C# и J#, при этом перекрывая Sun каналы распространения Java: пример тому - изъятие виртуальной машины Java из Windows XP.
Уже сегодня разработчикам систем управления предприятиями приходится принимать серьезное решение о выборе дальнейшего пути развития - выборе между .NET и платформой Java 2 Enterprise Edition (J2EE). И аналитики прогнозируют, что ближайшие годы пройдут под знаком все более явственного разделения Интернета, и особенно электронного бизнеса, на .NET и J2EE. Назвать однозначного победителя в этой игре пока не представляется возможным.
Вместе с тем хочется надеяться, что компания учтет ошибки производителей, к примеру, различных видов DVD-приводов, и .Net не превратится в поле для очередной бесконечной склоки.
1 (обратно к тексту) - Интеллектуальная веб-служба - это совокупность технологий, которая позволяет обмениваться информацией и выполнять какие-либо действия через Web. При этом учитывается контекст, то есть конкретная ситуация, в которой находится выполняющий запрос пользователь.
2 (обратно к тексту) - Подобный механизм можно реализовать уже сейчас на базе HailStorm и некоторых других сервисов.
3 (обратно к тексту) - Но есть и отличия:
- Программы можно создавать на нескольких языках одновременно, путем использования компонентов.
- Байт-код является лишь промежуточным языком (Intermediate Language) и имеет открытую спецификацию, что дает надежду на перенос в CLR других языков программирования.
- Программы не интерпретируются при исполнении, а транслируются до этого (технология JIT compilation - just in time compilation), после чего функционируют уже обработанные модули.
5 (обратно к тексту) - По этой причине для написания наиболее эффективных локальных приложений по-прежнему рекомендуется использовать Visual C++.