русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сетевые компьютеры


Дата добавления: 2015-06-12; просмотров: 539; Нарушение авторских прав


Когда стало понятно, что новая технология пользуется небывалым спросом, разработчикам захотелось укрепить и развить успех и распростра­ненность Java. Для того чтобы Java не разделила судьбу NeWS (эта оконная система упоминалась в начале лекции, она не получила развития, проиграв X Window), компания Sun старалась наладить сотрудничество с независи­мыми фирмами для производства различных библиотек, средств разра­ботчика, инструментов, 9 января 1996 года было сформировано новое подразделение JavaSoft, которое и занялось разработкой новых Java-тех­нологий и продвижением их на рынок. Главная цель — появление все большего количества самых разных приложений, написанных на этой платформе. Например, 1 июля 1997 года было объявлено, что ученые NASA (National Aeronautics and Space Administration, государственная ор­ганизация США, занимающаяся исследованием космоса) с помощью Java-апплетов управляют роботом, изучающим поверхность Марса ("Java помогает делать историю!").

Пора остановиться подробнее на том, почему по отношению к Java используется термин "платформа", чем Java отличается от обычного языка программирования.

Как правило, платформой называют сочетание аппаратной архитек­туры ("железо"), которая определяется типом используемого процессора (Intel х86, Sun SPARC, PowerPC и др.), с операционной системой (MS Windows, Sun Solaris, Linux, Mac OS и др.)» При написании программ раз­работчик всегда пользуется средствами целевой платформы для доступа к сети, поддержки потоков исполнения, работы с графическим пользова­тельским интерфейсом (GUI) и другими возможностями. Конечно, раз­личные платформы, в силу технических, исторических и других причин, поддерживают различные интерфейсы (API, Application Programming Interface), a значит, и программа может исполняться только под той плат­формой, под которую она была написана.Однако часто заказчикам требуется одна и та же функциональность, а платформы они используют разные. Задача сортирования приложений стоит перед разработчиками давно. Редко удается перенести сложную программу без существенной переделки, очень часто различные платформы по-разному поддерживают многие возможности (например, операционная система Мае OSтрадиционно использует однокнопочную мышь, в то Время как Windows изначально рассчитана на двухкнопочную).



А значит, и языки программирования должны быть изначально ори­ентированы на какую-то конкретную платформу Синтаксис и основные концепции легко распространить на любую систему (хотя это и не всегда эффективно), но библиотеки, компилятор и, естественно, бинарный ис­полняемый код специфичны для каждой платформы. Так было с самого начала эпохи компьютерных вычислений, а потому лишь немногие, дей­ствительно удачные программы поддерживались сразу на нескольких си­стемах, что приводило к некоторой изоляции миров программного обес­печения для различных операционных систем.

Было бы странно, если бы с развитием компьютерной индустрии разработчики не попытались создать универсальную платформу, под кото­рой могли работать все программы. Особенно такому шагу способствовало бурное развитие Глобальной сети Internet, которая объединила пользо­вателей независимо от типа используемых процессоров и операционных систем. Именно поэтому создатели Java задумали разработать не просто еще один язык программирования, а универсальную платформу для испол­нения приложений, тем более что изначально Oak создавался для различ­ных бытовых приборов, от которых ждать совместимости не приходится.

Каким же образом можно "сгладить" различия и многообразие опе­рационных систем? Способ не новый, но эффективный - с помощью виртуальной машины. Приложения на языке Javaисполняются в специ­альной, универсальной среде, которая называется Java Virtual Machine. JVM — это программа, которая пишется специально для каждой реальной платформы, чтобы, с одной стороны, скрыть все ее особенности, а с другой - предоставить единую среду исполнения для Java-приложений. Фирма Sun и ее партнеры создали JVM практически для всех современных опе­рационных систем. Когда речь идет о браузере с поддержкой Java, подра­зумевается, что в нем имеется встроенная виртуальная машина.

Подробнее JVM рассматривается ниже, но необходимо сказать, что разработчики Sun приложили усилия, чтобы сделать эту машину вполне реальной, а не только виртуальной. 29 мая 1996 года объявляется опера­ционная система Java OS (финальная версия выпущена в марте следую­щего года). Согласно пресс-релизу, это была "возможно, самая небольшая ^>Ь1страя операционная система, поддерживающая Java". Действительно разработчики стремились к тому, чтобы обеспечить возможность исполнять Java-приложения на самом широком спектре устройств — сете­вые компьютеры, карманные компьютеры (PDA), принтеры, игровые приставки, мобильные телефоны и т.д. Ожидалось, что Java OS будет реа­лизована на всех аппаратных платформах. Это было необходимо для из­начальной цели создателей Java легкость добавления новой функцио­нальности и совместимости в любые электрические приборы, которымипользуется современный потребитель.

Это был первый шаг, продвигающий платформу Java на один уро­вень вниз — на уровень операционных систем. Предполагалось сделать и следующий шаг — создать аппаратную архитектуру, центральный процес­сор, который бы напрямую выполнял инструкции Java безо всякой вирту­альной машины. Устройство с такой реализацией стало бы полноценным Java-устройством.

Кроме бытовых приборов, компания Sun позиционировала данное ре­шение и для компьютерной индустрии — сетевые компьютеры должны бы­ли заменить разнородные платформы персональных рабочих станций. Та­кой подход хорошо укладывался в основную концепцию Sun, выраженную в лозунге "Сеть — это компьютер". Возможности одного компьютера никог­да не сравнятся с возможностями сети, объединяющей все ресурсы компа­нии, а тем более — всего мира. Наверное, сегодня это уже очевидно, но во времена, когда WWW еще не опутала планету, идея была революционной.

Если же строить многофункциональную сеть, то к ее рабочим стан­циям предъявляются совсем другие требования - они не должны быть особенно мощными, вычислительные задачи можно переложить на серве­ры. Это даже более выгодно, так как позволяет централизовать поддержку и обновление программного обеспечения, а также не вынуждает сотруд­ников быть привязанными к своим рабочим местам. Достаточно войти с любого терминала в сеть, авторизоваться и можно продолжать работу с того места, на котором она была оставлена. Это можно сделать в кабинете, зале для презентаций, кафе, в кресле самолета, дома — где угодно!

Кроме очевидных удобств, это начинание было с большим энтузиаз­мом поддержано индустрией и в силу того, что оно являлось сильнейшим оружием в борьбе с крупнейшим производителем программного обеспе­чения Microsoft. Тогда (да и сейчас) самой распространенной платфор­мой являлась операционная система Windows на базе процессоров Intel (с чьей-то легкой руки теперь многими называемая Wintel). Этим компани­ям удалось создать замкнутый круг, гарантирующий успех,— все пользова­лись их платформой, так как под нее написано больше всего программ, что, в свою очередь, заставляло разработчиков создавать новые продукты именно для платформы Wintel. Поскольку корпорация Microsoft всегда очень агрессивно развивала свое преимущество в области персональных компьютеров (вспомним, как Netscape Navigator безнадежно проиграл конкуренцию MS Internet Explorer), это не могло не вызывать сильное беспокойство других представителей компьютерной индустрии. Понят­но, что концепция сетевых компьютеров свела бы на нет преимущества Wintel в случае широкого распространения. Разработчики просто пере­стали бы задумываться, что находится внутри их рабочей станции, также как домашние пользователи не имеют представления, на каких микросхе­мах собран их мобильный телефон или видеомагнитофон.

Мы уже рассказывали о том, как и почему Microsoft лицензировала Java, хотя, казалось бы, этот шаг лишь способствовал опасному распрост­ранению новой технологии, ведь InternetExplorer завоевывал все боль­шую популярность. Однако вскоре разразился судебный скандал. 30 сен­тября 1997 года вышел новый IE 4.0, а уже 7 октября Sun объявила, что этот продукт не проходит тесты на соответствие со спецификацией вир­туальной машины. 18 ноября Sun обраш1ается в суд, чтобы запретить ис­пользование логотипа "Совместимый с Java" ("Java compatible") для MS IE 4.0. Оказалось, что разработчики Microsoft слегка "улучшили" язык Java, добавив несколько новых ключевых слов и библиотек. Не то что бы это были сверхмощные расширения, однако достаточно привлекательные для того, чтобы значительная часть разработчиков начала ее использо­вать. К счастью, в Sun быстро осознали всю степень опасности такого ша­га. Java могла потерять звание универсальной платформы, для которой верен знаменитый девиз "Write once, run everywhere" ("Написано однаж­ды, работает везде"). В таком случае она утратила бы основу своего успе­ха, превратившись всего лишь в "еще один язык программирования".

Компании Sun удалось отстоять свою технологию. 24 марта 1998 го­да суд согласился с требованиями компании (конечно, это было только предварительное решение, дело завершилось лишь 23 января 2001 года -Sun получил компенсацию в 20 миллионов долларов и добился выполне­ния лицензионного соглашения), а уже 12 мая Sun снова выступает с тре­бованием обязатьMicrosoft включить полноценную версию Java в Windows 98 и другие программные продукты» Эта тяжба продолжается до сих пор с переменным успехом сторон. Например, Microsoft исключилаиз виртуальной машины Internet Explorer библиотеку java.rmi, позволяю­щую создавать распределенные приложения, пытаясь привлечь внимание разработчиков к DCOM-технологии, жестко привязанной к платформе '^п32. В ответ многие компании стали распространять специальное до­полнение (patch), устраняющее этот недостаток. В результате Microsoft остановила свою поддержку Java на версии 1.1, которая на данный мо­мент является устаревшей и не имеет многих полезных возможностей. ^0, в свою очередь, практически остановило широкое распространение апплетов, кроме случаев либо совсем несложной функциональности (бегущей строки или диалога с несколькими полями ввода и кнопками), либо приложений для внутренних сетей корпораций. Для последне­го случая Sun выпустил специальный продукт Java Plug-in, который встраивается в MS IE и NN, позволяя им исполнять апплеты на основе Java самых последних версий, причем полное соответствие спецификаци­ям гарантируется (первоначально продукт назывался Java Activator и впервые был объявлен 10 декабря 1997 года). На данный момент Microsoft то включает, то исключает Java из своей операционной системы Windows ХР, видимо, пытаясь найти самый выгодный для себя вариант.

Что же касается сетевых компьютеров и Java OS, то, увы, они пока не нашли своих потребителей. Видимо, обычные персональные рабочие станции в совокупности с JVM требуют гораздо меньше технологических и маркетинговых усилий и при этом вполне успешно справляются с при­кладными задачами. А Java, в свою очередь, стала позиционироваться для создания сложных серверных приложений.



<== предыдущая лекция | следующая лекция ==>
Браузеры | Платформа Java


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.475 сек.