Не секрет, що розробляти програми в IBM Bluemix ™ дуже просто. Сьогодні корпоративні розробники хочуть розробляти мобільні додатки в стилі Model-View-Controller (MVC) за допомогою Bluemix. У цьому керівництві розглянуто простий приклад, який демонструє проектування і розробку програми в Bluemix з використанням архітектури в стилі MVC. Перш ніж почати роботу над додатком, розглянемо ряд основ.
архітектура MVC
MVC - найбільш популярний і потужний шаблон архітектури для розробки призначених для користувача інтерфейсів. Шаблон архітектури MVC являє собою спосіб розділити додаток на три частини: модель, уявлення і контролер. Подання управляє графічним і текстовим призначеним для користувача введенням. Контролер інтерпретує дані, введені користувачем, і передає необхідні команди моделі або поданням. Модель керує поведінкою програми та його даними, а також відповідає на інструкції про зміну стану (як правило, передаються контролером). У цьому керівництві ми використовуємо шаблон архітектури MVC для створення мобільного застосування.
Веб-служби RESTful
Веб-служби RESTful - це набір API, відповідних архітектурним обмеженням Representational State Transfer (REST). Вони не вимагають від клієнта будь-яких знань про структуру API. Браузер заздалегідь не має ніякої інформації про те, де і які метадані потрібно передати. Для успішного виклику API сервер передає клієнтові всю необхідну інформацію, зокрема, URI і обов'язкові поля. На рівні служб нашого застосування ми використовуємо веб-служби RESTful.
"Завжди використовуйте MVC. Чітко відокремлюйте бізнес-логіку від логіки контролера та подання. Грамотне поділ на рівні компенсує безліч недоліків. "
- Головні передові практики Java EE
Приклад бізнес-моделі
За допомогою нашого простого мобільного додатка виробники молока зможуть переглядати важливу інформацію з Dairy Production Center.


Архітектура та проектування додатки
При проектуванні програми використовується архітектура в стилі MVC.


послідовність процесів
- Мобільний додаток Dairy Production Center для Android, що діє як компонент уявлення, робить запит від служби RESTful до модуля контролера, розгорнутому в середовищі виконання Bluemix WebSphere Liberty Runtime.
- На основі даних, введених в мобільний додаток, модуль контролера здійснює виклик відповідного об'єкта доступу до даних, який повертає дані контролеру.
- Після отримання відповіді від об'єкта доступу до даних (моделі), контролер передає відповідь мобільному додатку, яке відображає дані користувачеві в зручному для нього вигляді.
Компоненти MVC такі:
Рівень доступу до даних (модель) Діє як інтерфейс, що надає доступ до бази даних (або іншому сховища). У нашому прикладі додатка цей рівень використовується як інтерфейс для взаємодії з базою даних. Рівень Data Access Object (DAO) використовується для відділення низькорівневих викликів API і дій від високорівневих бізнес-служб. У наступному списку вказані методи, реалізовані в DAO для отримання даних з бази.


Наше мобільний додаток Dairy Production Center взаємодіє з викликами Dairy Production Center RESTful API в Bluemix. Додаток публікує API, які можуть бути використані будь-яким зовнішнім клієнтом по протоколу HTTP. Виробникам молока буде доступно додаток з можливістю входу користувачів:


Переглядайте перелік корів і стад, публікуйте новини в Dairy Production Center.




Що вам знадобиться
Крок 1. Сформуйте рівень доступу до даних (модель)
Щоб сформувати рівень доступу до даних, створіть базу даних, схему, таблиці, взаємозв'язку, дані і об'єкти для доступу до даних. Для цього виконайте такі дії:





Тепер розглянемо код, необхідний для створення рівня доступу до даних.
- Імпорт вихідний код зі служби DevOps в Eclipse.
- Основні об'єкти для доступу до даних, що використовуються в таких межах:
- DairyProductionCenterDBConnection, який здійснює підключення до бази даних
- DairyProductionCenteDAOImpl, який здійснює перерахування всіх корів для виробника за запитом з рівня служб
Класи, що містяться в пакеті DAO:


Наступне завдання - отримати перелік всіх корів з таблиці бази даних (DP_COWS) за допомогою DAO.
Представлений код показує, як отримати перелік корів з бази даних. Щоб отримати значення з бази даних, виконайте цей метод:
Вам повинен відобразитися перелік корів в таблиці бази даних (DP_COWS):
перелік корів


Крок 2. Створіть рівень служб (контролер)
Цей рівень реалізується за допомогою платформи служб Apache Wink REST і інструментів Java JSON Builder. Пакет і класи для реалізації викликів служби RESTful:


Порівняйте відповідь JSON з даними в базі в розділі Перелік корів.


Крок 3. Створіть рівень представлення (подання)
- Імпорт вихідний код (bluemixdairyproductioncenter-android) з DevOps Services в ADT. Відкрийте клас CowListActivity з Dairy Production Center Android Application Package.

Робота над кодом завершена. Ви можете виконати побудову і запустити додаток в Android Emulator:

З'явиться перелік корів для виробника.


висновок
Побудувати мобільний додаток в стилі MVC за допомогою Bluemix нескладно. Просто дотримуйтесь основам реалізації MVC при плануванні того, які дані будуть відображатися, як саме вони будуть відображатися, і які події і призначений для користувача введення потрібно буде обробляти при роботі з додатком на вашій власній платформі MVC. Bluemix PaaS є дружню до користувача платформу з великими можливостями, зокрема, середовищами виконання, службами та мобільними функціями, які допоможуть вам швидко і легко розробити MVC-додаток.