Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации
СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT

ГЛАВА 2

Цели

2.1 Цели API

Проект API ввода-вывода Изображения был под влиянием требования поддерживать много основных целей. Каждая цель обеспечивает выравнивание для определенного набора функций API. Эти цели могут быть разделены на мотивированных, главным образом, потребностями приложений клиентской стороны, и мотивированных потребностями серверных приложений. Естественно, эти основные цели представляют только часть возможностей API. Они перечисляются здесь, чтобы обеспечить смысл побуждений, которые вошли в проект API.

Как правило ползунка, всякий раз, когда компромисс между простотой использования для разработчиков приложений и сменными разработчиками был идентифицирован, разработчику приложений уделили более высокое первостепенное значение. Так как относительно немного пользователей API, как ожидают, запишут плагины, и даже тех разработчиков, которые действительно пишут, плагины будут обычно писать не больше, чем небольшое количество, чтобы поддерживать форматы непосредственного использования им, имеет смысл продвигать сложность в плагины, а не в приложения.

Чтобы повысить качество сложности сменной разработки, некоторые служебные методы и классы реализации - то, при условии, что выполняют общие функции. Однако, не возможно обеспечить классы реализации, чтобы покрыть каждую ситуацию, и обеспечение чрезмерного числа служебных классов и методов увеличило бы место для всех пользователей API, даже если бы они не использовали нестандартные плагины. Мы ожидаем, что сменные разработчики будут в состоянии включить исходный код от существующих плагинов и пример кода в их плагины. В то время как это могло бы привести к некоторой избыточности при использовании многократных, независимо разработанных плагинов, большинство пользователей будет, вероятно, использовать только небольшое количество плагинов за один раз в любом случае. Таким образом мы верим стоимости необходимости загрузить код, который мог бы теоретически быть совместно использован, но фактически не является, будет ухаживать к outweight за стоимостью загрузки некоторого избыточного кода, когда много плагинов используются.


2.1.1 Цели Приложения клиентской стороны

Pluggability приложение, записанное, чтобы использовать API ввода-вывода Изображения, должен быть в состоянии автоматически использовать в своих интересах новые плагины без любой перезаписи или перекомпиляции. Это требует, чтобы плагины следовали, в максимально возможной степени, за рядом нейтральных форматом интерфейсов. Однако, у каждого формата изображения есть уникальные свойства и возможности, которые плагины должны быть в состоянии представить приложениям. Это выполняется, позволяя плагины расширить много интерфейсов в пределах API. Приложения, которые не сознают сменные определенные расширения, могут продолжать использовать нормальные сменные возможности, в то время как осведомленные приложения могут использовать расширенные интерфейсы.

И универсальный и сменный определенный доступ к метаданным (данные неизображения) поддерживается, позволяя плагины обеспечить доступ к метаданным в многократных форматах. Они могут включать сменные определенные форматы, сменный нейтральный формат, определенный API, и форматами промышленного стандарта.

Автоматическая и Ручная Сменная Установка и Выбор Для простых приложений, которые хотят загрузить изображения без вмешательства пользователя, важно позволить плагину читателя быть выбранным автоматически основанный на содержании файла. Однако, это является требуемым, чтобы избежать загрузки и инстанцирования сложных классов, если они не необходимы. Плагин должен быть в состоянии определить, может ли он обработать определенное изображение, не загружая весь его код. Чтобы удовлетворить этой цели, плагины инстанцируют через механизм интерфейса поставщика услуг, который позволяет простым запросам выполняться, не загружая основную часть сменного кода.

Весь байт-код (.class) файлы, связанные с плагином, может быть объединен в файл JAR, который может быть установлен постоянно в среду выполнения Java, или загружен, динамически используя приложение CLASSPATH механизм.

Ручной Сменный Выбор, Хотя автоматический сменный выбор удобен для многих приложений, для более сложных приложений должно быть возможно осуществить больший контроль над сменным процессом выбора. Это выполняется посредством реестра времени выполнения плагинов, которые могут быть запрошены и управляться приложением. Сеть, Находящийся на диске, и Прямой ввод-вывод Все более и более, приложения должны иметь дело и с находящимися на диске и с основанными на сети данными. Во многих случаях с даже находящимися на диске данными нужно иметь дело в форме InputStream из-за потребностей других API. API ввода-вывода Изображения предлагает ряд интерфейсов, которые позволяют данные от Files, InputStreams, или другие источники, которые будут обработаны объединенным способом, сохраняя возможность искать назад и вперед. API является соответствующим требованиям завтрашнего дня, чтобы позволить новые интерфейсы ввода-вывода, включая прямые интерфейсы к получению изображений и устройствам вывода, использоваться, не переписывая код программы. Доступ к Метаданным метаданные, сохраненные рядом с изображением, может быть столь же важным как данные изображения. API ввода-вывода Изображения Java обеспечивает полный все же гибкий доступ к метаданным. Так как метаданные могут принять много форм, и содержать очень специализированную информацию, трудно обеспечить прямой доступ к таким метаданным в API общего назначения. Вместо этого API требует, чтобы плагины бросили свои метаданные в форму структуры XML-документа, возможно улучшенной с Object ссылки в дополнение к текстовым данным. Как только это было сделано, к метаданным можно получить доступ и отредактировали использующий стандартный XML ДОМ (Объектная модель документа) интерфейсы. Синтаксис Documents изменится от плагина до плагина, но структура может быть пересечена, выведена на экран, и отредактирована без специальных знаний используемого плагина. Поддержка Усовершенствованных приложений, Чтобы поддерживать усовершенствованные приложения, API, должна обеспечить, доступ к функциям, таким как "миниатюра" отображает, повторные изображения, сохраненные в файле, формировании изображений muli-разрешения, и размещенном рядом формировании изображений. Это должно обеспечить возможность декодировать части увеличенного изображения, и выполнить подвыборку во время декодирования, чтобы позволить панорамировать по очень большим изображениям. При записи изображений должно быть возможно записать часть частью данных изображения, не храня все изображение в памяти сразу.

2.1.2 Варианты использования сервера

Динамическое формирование изображения Современные веб-серверы обычно генерирует значительную часть их контента динамически. Сервлет Java и Страницы Сервера Java (JSP) API обеспечивают переносимые способы генерировать страницы HTML в ответ на запросы от веб-браузеров. Так же, как уникальный, пользовательский HTML может быть сгенерирован для каждого пользователя, возможно настроить контент изображения.

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

Веб-изображения Настройки изображения обычно являются "судорогами размера все" с теми же самыми данными изображения, поставляемыми независимо от возможностей дисплея получателя. Увеличивающееся использование беспроводных и карманных устройств потребует изображений, которые настраиваются для их ограниченной пропускной способности и выводят на экран возможности. Настольные компьютеры видели увеличения своего разрешения дисплея, заставляя много веб-изображений казаться слишком маленькими. Нехватка масштабируемых изображений также вызывает проблемы для пользователей со слабым зрением. Настройка изображения серверной стороны может использоваться, чтобы предоставить оптимальные изображения всем пользователям с разрешением изображения и цветными характеристиками, выбираемыми основанный на пользовательских настройках.

СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT

Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами