C Новым Годом!
Чтоб у вас все было и ничего вам за это не было!
Чтоб у вас все было и ничего вам за это не было!
Такие 2 Пэ в ИТ сфере, как 4П в маркетинге или 4Д в брэндинге – вопщем, что только не придумают ради того что придумать. Но не об этом. Вот юзера и вот программеры. В очередной раз выслушиваю пожеления юзера я понял что все-таки старик Гаусс был в чем-то прав (хотя Мандельброт и Талеб считают что не по пацански первый рассуждал):
Ну реально ведь. Если человек не шарит – он тебе доверяет, если знает – советует, требует, понимает, проверяет. Если же “да я вот на Дельфи помню делал инсерт в файерберд” или “не ну мы вот можем веб-интерфейс развернуть, вапще вы планируете переходить?” – это жесть. Пользователь имеет право на дотошность, но только наверно когда стремиться к 0 или к бесконечности. Но те яйца что посередине – это жесть.
UPDATE (18.09.2011) — спустя 2 года нашел такую забавную картинку. Случайно совершенно. В точку:
___________________________
Случай в поддержке:
— Смотрите, вы сейчас в одном документе строки удалите, а в другом добавьте
— А как добавить?
— Ну смотрите, право кнопкой мыши на поле нажимаете, в строках, там будет добавить, видите?
— Так ну мне наверно надо документ сначала открыть да?
<<zanaves>>
Каждая из представленных технологий как BSP, так и Web Dynpro обладают достоинствами и недостатками. Противопоставлять их было бы некорректно, поскольку каждая из них дополняет другую. Тем не менее стоит отметить несколько заметных особенностей:
Web Dynpro компоненты заточены на различные клиенты. И поскольку при создании приложения отделяется прикладная логика от технологий построения пользовательского интерфейса (UI), клиентом такого приложения может быть как браузер, так и мобильный телефон или любой рабочий терминал.
|
Web Dynpro for ABAP |
Web Dynpro for Java |
Business Server Pages (BSP) |
Java Server Pages (JSP) |
HTML Business for Java (HTMLB ) |
|
|
Использование в SAP GUI |
очень ограниченно |
||||
|
Использование в SAP NetWeaver Portal |
X |
X |
X |
X |
X |
|
Использование в Mobile Devices (loosing connection to the server) |
|||||
|
Возможность использования JavaScript |
X |
X |
|||
|
Использование web-сервисов |
X |
X |
X |
X |
X |
|
Среда разработки |
ABAP Workbench (SE80) |
SAP NetWeaver Developer Studio (Web Dynpro Perspective) |
ABAP Workbench (SE80) |
SAP NetWeaver Developer Studio (J2EE Perspective) |
SAP NetWeaver Developer Studio (Enterprise Portal Perspective) |
|
Доступна начиная с выпуска |
SAP NetWeaver 2004s (Web Application Server 7.0) |
SAP NetWeaver 04 (Web Application Server 6.40) |
Web Application Server 6.10 |
Web Application Server 6.20 |
Web Application Server 6.20 |
|
Преимущества |
— наличие в транзакции SE80 — не обязателен SAP NetWeaver Portal — ALV Lists могут быть использованы |
— использо- вание Java как более распространеного языка — интерфейс распознает и подстраивается под клиента |
— наличие в транзакции SE80 |
— использо- вание Java как более распространеного языка — легкое управление элементами интерфейса в SAP NetWeaver Portal / Browser |
использование Java как более распространеного языка — легкое управление элементами интерфейса в SAP NetWeaver Portal / Browser |
|
Недостатки |
— JavaScript не используется — отсутствие возможности распознавания клиентского приложения — не поддерживаются некоторые GUI элементы |
— JavaScript не используется — подключение к ABAP функция только посредством RFC — проблемы со стабильностью работы — разделенная среда разработки, затрудняет отладку |
— более сложная разработка чем Web Dynpro |
— более сложная разработка чем Web Dynpro и BSP -разделенная среда разработки |
— большинство функционала уже включено в Web Dynpro for Jаva |
Разработка сервисов в Интернете, сайтов, приложений для интранетов с использованием open source продуктов значительно отличается от промышленного web-программирования. Если в первом случае web-приложение выполняет коммуникационную роль, а порой является по сути отдельной информационной системой, то приложения в ERP системах выполняют скорее роль быстрого и удобного способа к мощному функционалу ERP-систем. Приложения корпоративного уровня являются более сложными и комплексными, поскольку должны позволять не только эффективно работать сотрудникам, но и масштабироваться, иметь возможность гибко настраиваться. Все это возможно только лишь наличию мощных инструментов разработки и высокоуровневой технологии разработки корпоративных приложений. В SAP такую роль выполняет Web Dynpro.
Кроме поддержки традиционного для SAP языка ABAP, сервер приложений SAP позволяет создавать web-приложения, используя технологию Java. Разработка подобных приложений ведется в SAP Developer Studio – отдельной среде разработки, использующей в своей основе платформю Eclipse. Данная среда разработки предоставляет все средства разработки предназначенные для использования стека технологий J2EE.
Рисунок 12. Набор инструментов доступных в SAP Netweaver Developer Studio
Технология Web Dynpro for Java является ключевой для Java-разработки под SAP. У нее много общего при реализации концепции Web Dynpro for ABAP, поэтому она не будет рассмотрена подробно в данной работе. При этом стоит отметить что язык Java, и стек технологий J2EE предоставляют разработчикам более мощные средства при разработке приложений, которые могут быть интегрированы в систему SAP или могу экспортировать данные ERP системы для внешних потребителей.
Java Server Pages (JSP) является составной частью единой технологии создания бизнес-приложений J2EE, также может использоваться в ERP приложениях SAP. JSP — это альтернативная методика разработки приложений, динамически генерирующих ответ на те или иные запросы клиента. Прежде чем JSP документ будет использован, специальная процедура преобразует его в соответствующий сервлет (java-программа, выполняющаяся на стороне сервера и расширяющая функциональные возможности сервера). В свою очередь, сервлет, как правило, пишется на языке Java и реализует определенный интерфейс. Сервлет также не является самостоятельным приложением и функционирует, только будучи помещен в соответствующий web-контейнер. Web-контейнер обеспечивает обмен данными между сервлетом и клиентами, берет на себя выполнение таких функций, как создание программной среды для функционирующего сервлета, идентификацию и авторизацию клиентов, организацию сессии для каждого из них.
Ключевые слова: sap netweaver developer studio,web dynpro,documents and settings,image style,local settings,abap,c documents,title image,png,eclipse,thumb,img
Логичным развитием технологии BSP стал фреймворк Webdynpro, вышедший с 7ой версией SAP NetWeaver. Данная технология содержит библиотеку UI-элементов, позволяющих создавать кроссплатформенные web-интерфейсы. WebDynpo Technology поддерживает следующие функции:
Основным преимуществом того, что технология Web Dynpro стала ключевой в разработке web-приложений в SAP системе стало то, что с одной стороны были расширены возможности стандартной среды разработки SE80, знакомая всем кто разрабатывал до этого на ABAP и при этом были включены и использованы возможности BSP-приложений.
Логика Web Dynpro приложений построена на шаблоне проектирования – MVC (Model-View-Controller). MVC это составной шаблон, или несколько шаблонов, работающих совместно для реализации сложных приложений. Наиболее часто этот шаблон используется для создания интерфейсов приложений и разделения логики работы. Каждая часть данного паттерна содержит свой функционал:
Модель (Model) — содержит данные и логику приложения для управления состоянием этого приложения. Модель отвечает за управление состоянием приложения. Логика приложения в модели представлена двумя важными задачами: модель отвечает на запросы относительно состояния приложения, и выполняет действия в ответ на запрос об изменении состояния.
Представление (View) — реализует пользовательский интерфейс и состояние приложения, наблюдаемые на экране. Приложение может содержать несколько Представлений, которые могут быть как механизмом ввода, так и механизмом вывода.
Контроллер (Controller) — обрабатывает действия пользователя, влияющие на состояние приложения.
Мощь шаблона MVC напрямую обуславливается разделением этих трех элементов с целью избежать пересечений зон ответственности каждого из них.
Рисунок 10. Схема работы приложения, использующего MVC
Использование данного паттерна в технологии Web Dynpro позволяет четко получить разделение приложения и логики представления. Приложения Web Dynpro работает на клиентской части и имеет локальный или удаленный доступ к системе через фоновые процессы специальных служб. Представление играет ключевую роль в web-приложении, поскольку от того насколько хорошо работает интерфейс зависит степень его кроссплатформенности с точки зрения воспроизведения у клиента.
С развитием коммуникаторов, карманных компьютеров и нетбуков – ведущие производители ERP систем озаботились тем как промышленные, портальные приложения поддерживают данные виды устройств. Для обеспечения подобной совместимости
Рисунок 11. Client-Side framework позволяет оптимизировать работу с web-приложениями на портативных устройствах
Server-side framework (SSF) для Web Dynpro выполняется на SAP Web Application Server. На стороне клиента работает Client-Side Framework. Этот фреймворк запускается в браузере и основывается на HTML-шаблонах, содержащий JavaScript-код и стилевые таблицы. Web Dynpro в режиме реального времени проверяет что за клиент (десктоп, мобильный телефон) вызывает приложение и в ответ уже предоставляет данные в удобном представлении.
Главное преимущество языка ABAP – оптимизация для бизнес-приложений. ABAP совершенно независим от операционной системы и платформы баз данных, на которых он работает; в него встроены функции доступа к базе данных. Другие функции, встроенные в этот язык, такие как буферизация таблиц и обработка транзакций, позволяют разрабатывать высоко масштабируемые приложения. Мощные средства управления изменениями и их переносом обеспечивают возможности разработки сложных приложений большими командами разработчиков. Поэтому развитие технологий разработки от Dynpro к Web Dynpro можно сравнить с использованием связки в JSP и EJB, которая широко используется в enterprise-системах, в том числе и SAP. При этом сохранился прямой доступ к кодам, транзакциями и словарю. Были расширены функции отладки и контроля версий, была включена возможность использования транспортных запросов при разработке. Приложения разработанные на данном фреймворке предъявляют низкие требования к клиентским машинам.
Ключевые слова: sap web application server,web application server,server side,jsp,web dynpro