+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 92.01 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Mobile Connectors in Action

01.06.2012 10:39
Vsevolod Leonov

Сервера приложений DataSnap

делаются легко и просто. Проблем никаких, прекрасные "мастера", авто-генерация понятного кода - но это было уже доступно, начиная с Delphi XE. Об этом хорошо уже было написано.

Но создание тонких клиентов на Delphi и C++Builder - совсем не полный спектр доступных решений, замыкающих технологический базис фреймворка DataSnap XE2. Именно в последней версии появились новые возможности, названные "mobile connectors".

Windows Phone 7

оказался на борту попавшегося мне в руки "условно-бесплатный" аппарата. Я, как человек, обиженный судьбой в плане стойкого эстетического дискомфорта от созерцания художественно-безвкусных поделок, очень позитивно отнёсся к именно стилистически-идеальному интерфейсному оформлению метафоры UI. А мой фанатизм по отношению к жестикуляции (часть 4, содержит части 1, 2, 3, часть 5 , недописанная ) был усилен великолепной эргономикой динамического взаимодействия с выпуклыми частями тела.

Но что это за "железка", если на ней нельзя программировать? Надо сказать, что Mac достаточно интенсивно поглощал моё время, включая time-gap-filler iPad. Так что мой Phone 7 оставался "звонилкой", медиа-плеером и приятной тяжестью в руке. Короче, ждал повода заняться им серьёзно.

Точка схождения множества кривых

  1. Простота изготовления серверов DataSnap
  2. Мгновенная генерация клиентов к готовым серверам DataSnap
  3. "Mobile Connectors" (мобильные коннекторы) для создания клиентов: iOS, Android, Blackberry, Windows Phone 7
  4. Подготовка конференции "Кросс-платформа 2012"
  5. Предыдущий опыт разработки под Windows Mobile 6
  6. Взаимодействие с корпорацией Microsoft

Здесь нужно отметить, что Дмитрий Сошников, дал мне ряд советов по быстрому погружению в Windows Phone 7 SDK 7.1. Будет у нас на конференции доклад совместный.

Мобильные коннекторы

нуждаются в некотором объяснении. Конечно, желательно вчитаться в начало и (конкретно) "для C# и SilverLight" (произносится как "си-тюрма" и "сервелат"). Но мне хотелось бы на пару абзацев сделать лёгкую вводную, а потом предложить некий технический регламент освоения данной методы.

На что рассчитаны мобильные коннекторы? У вас есть готовый сервер DataSnap, который "экспонирует" методы (даёт их "наружу" для вызова, некий API для вызова со стороны клиентских приложений). Этот API изначально (в коде) сделан на языке Delphi. Как и в случае с dll, можно потреблять этот API из приложений (клиентов), написанных на другом языке - лишь бы сигнатуры методов были идентичными с поправкой на синтаксис и совмещение типов данных. Для того, чтобы вызывать какой-либо API, вам нужно знать (иметь "заголовочники") функций. И для dll этого достаточно.

Для API, который предоставляется сервером DataSnap, одних "сигнатур" недостаточно. Если dll - вот она, рядом, да ещё и "шарит" наше адресное пространство (что делает передачу параметров тривиальной), то до сервера DataSnap нужно еще "достучаться" и каким-то образом отправить в него параметры в рамках вызова метода. Назовём это всё "вызов+транспорт".

Итак, у нас есть готовый сервер. И мы хотим создать тонкого клиента без жёсткой привязки к языку разработки сервера. Нам нужно знать 2 вещи:

  • что можно вызывать (какие методы)
  • как вызывать и как передавать параметры (в двух направлениях) (а также "в обратном направлении")

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

Лабораторная работа

проделанная мной сегодня, позволит вам быстро и качественно сделать тонкого клиента для Windows Phone 7 с помощью "мобильных коннекторов".

  1. Берём ЛР №1 из списка (Калькулятор). При создании сервера добавьте протокол HTTP (помимо TCP)
  2. Делаем и запускаем сервер. В мастере создания сервера поставьте "галочку" супротив "Generate Mobile Connectors"
  3. На самом деле, эта "галочка" не даёт нам правильного результата, т.к. в момент генерации коннекторов методов в сервере еще нет! Поэтому на коннекторы можно полюбоваться, но потом их нужно будет перегенерить уже на созданных методах.
  4. Запускаем сервер приложений (можно его протестировать тонким клиентом на Delphi).
  5. В папке "Bin" Delphi находим программу  Win32ProxyDownloader.exe и бросаем её в "корень".
  6. Выполняем из cmd следующую команду C:\Win32ProxyDownloader.exe -language csharp_silverlight -host 127.0.0.1:8080 -output C:\test
  7. Бежим в папку "c:\test", там будут наши "мобильные коннекторы" - "файлы с классами на C# для SilverLight".
  8. Скачиваем и устанавливаем средства разработки под Windows Phone 7.
  9. Создаём "Приложение Windows Phone"
  10. Докидываем в папку с проектом на C# нашу кучу мобильных коннекторов (т.е. всю папку "csharp_silverlight")
  11. В проект добавляем файлы с исходными кодами из папки "csharp_silverlight" + Newtonsoft.Json.WindowsPhone.dll в раздел "references"
  12. Делаем макет приложения, воспроизводя функционал тонкого клиента на Delphi в данной ЛР
  13. Не забываем сделать в "MainPage.xaml.cs" вставочку "using Embarcadero.Datasnap.WindowsPhone7;"
  14. А затем кодируем кнопку в соответствие с текстом справки
  15. Запускаем, наслаждаемся силой "мобильных коннекторов"

Рис. 1. Простой проект для Windows Phone

Рис. 2. Проект на эмуляторе связывается с сервером DataSnap

Рис. 3. Проект на MacOS, тонкий клиент на FireMonkey, связывается с сервером DataSnap

P.S. Тонкий клиент для MacOS делается одним движением из тонкого клиента Delphi путём переключения платформы.

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

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



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года