Швидке створення повнофункціональних трирівневих web-додатків
Стів вже шість років працює в підрозділі IBM Rational в Великобританії в якості старшого технічного консультанта. Основні області його спеціалізації - UML-проектування і архітектура, керована моделями (model-driven architecture, MDA). Крім того, він серйозно займається Eclipse і питаннями розширення програмних продуктів.
У даному навчальному посібнику, що складається з трьох частин, детально розглядається процес створення багаторівневого Web-додатки з нуля за допомогою IBM® Rational® Application Developer for WebSphere Software, Java Persistence API (JPA), Enterprise JavaBeans (EJB), REST Web-сервісів і (для повнофункціонального Web 2.0-інтерфейсу) Dojo Toolkit. Ми створимо повнофункціональний Web-додаток, що відображає в таблиці дані, які можна редагувати, двічі клацнувши лівою кнопкою миші у відповідній клітинці таблиці.
В архітектурі програми використовуються REST-сервіси для відділення призначеного для користувача інтерфейсу (UI) від сервера, а також EJB-компоненти і JPA для коректного поділу корпоративного програми на рівні. Деякі з цих рівнів не є обов'язковими для даного прикладу, але нашою метою є якісно спроектований приклад, який можна масштабувати для вирішення більш складних проблем.
У даному навчальному посібнику виконуються наступні загальні завдання:
- Створення бази даних (частина 1).
- Створення рівня доступу до даних і рівня EJB-компонентів (частина 2 (EN)).
- Створення REST-сервісів для відображення і зміни даних і повнофункціонального Web 2.0-інтерфейсу для використання цих сервісів (частина 3 (EN)).
- Розгортання додатки на системі "платформа як сервіс" IBM Bluemix (частина 3 (EN)).
На схемі представлена загальна архітектура програми, що складається з п'яти компонентів, які потрібно створити: повнофункціональні Web-сервіси на Web-рівні, EJB-компоненти і логічні JPA-об'єкти на рівні додатку та таблиці баз даних на рівні даних:
попередні умови
Перед початком роботи:
Створення сервера бази даних на Bluemix
Створіть сервіс бази даних на Bluemix, який буде використовуватися при розробці (тобто для роботи з даними керівництвом немає необхідності встановлювати програмне забезпечення баз даних і створювати локальний сервер):
Проектування і створення додатка
Створимо таблицю бази даних і сгенерируем тестові дані за допомогою Rational Application Developer:
- У Rational Application Developer виберіть перспективу Data. (Натисніть піктограму перспективи в правому верхньому куті, виберіть Data і натисніть OK.) У відповідь на запит Enable Activities виберіть всі варіанти і натисніть OK.
- У поданні Data Source Explorer виберіть Database Connections. клацніть правою кнопкою миші і виберіть New. . В якості менеджера бази даних виберіть DB2 for Linux, UNIX and Windows. Вкажіть ім'я бази даних, ім'я хоста, ім'я користувача і пароль з вашого профілю для сервісу баз даних на Bluemix. Прапорець Save password повинен бути відзначений:
- Натисніть Test Connection і після успішного завершення тестування підключення натисніть Finish.
- Створіть новий проект схеми бази даних під назвою CustomerDBDesign: виберіть File> New> Data Design Project. змініть ім'я на CustomerDBDesign і натисніть Finish.
- Створіть нову модель фізичних даних потрібної нам таблиці: в поданні Data Project Explorer клацніть правою кнопкою миші на проекті CustomerDBDesign і виберіть New> Physical Model. У вікні майстра змініть ім'я файлу на Customer Physical Model. В поле Database вкажіть DB2 for Linux, UNIX and Windows. а в поле Version - V10.5.
- Натисніть Finish.
- Перейменуйте схему: в Data Project Explorer виберіть Schema. а в поданні Properties змініть ім'я на ім'я користувача SQL-сервера Bluemix (наприклад, user01145).
- Створіть таблицю Customer. якщо Diagram1 ще не відкрита, відкрийте її з Data Project Explorer, виконавши подвійне клацання лівою кнопкою миші. Клацніть кнопкою миші на поверхні малювання і у спливаючому вікні виберіть піктограму додавання таблиці. Перейменуйте таблицю в Customer.
- Клацніть на таблиці для активації спливаючого вікна з переліком стовпців:. Додайте первинний ключ. Перейменуйте первинний ключ в CustNo.
- З спливаючого вікна з переліком стовпців додайте три звичайних стовпчика: Name. Address і Country.
- Задайте типи стовпців: виберіть таблицю і в поданні Properties виберіть вкладку Columns. Змініть типи стовпців, клацаючи по ним. Вкажіть тип даних INTEGER для CustNo і Varchar 30 для всіх інших:
- Збережіть модель (Ctrl-S or File> Save).
- Перетворіть схему і таблицю в базу даних: в Data Project Explorer виберіть схему. Клацніть правою кнопкою миші і виберіть Generate DDL. На першій сторінці зніміть позначку з Quoted identifiers.
Натисніть Next. - На сторінці Objects зніміть позначку з Schemas. Для вашого імені користувача буде створена таблиця в схемі за замовчуванням.
- На сторінці Save and Run DDL виберіть Run DDL on server. Натисніть Next.
- На сторінці Connections виберіть підключення SQLDB. Натисніть Next.
- Натисніть Finish.
- У поданні SQL Results перевірте успішність створення:
- Тепер введемо деякі дані: в поданні Data Source Explorer виберіть підключення SQLDB. клацніть правою кнопкою миші і виберіть refresh. В папці Schemas ви повинні побачити ваше ім'я користувача для SQL-бази даних.
- Відкрийте папку Tables. Повинна відобразитися таблиця CUSTOMER.
- Клацніть правою кнопкою миші на CUSTOMER. виберіть Data> Edit. додайте кілька рядків і збережіть зміни (Ctrl-S):
Подальші дії
Ми створили базу даних, розміщену на Bluemix, і додали в неї тестові дані. Перейдемо до другої частини (EN) даної серії статей і створимо рівень додатки, що складається з логічних JPA-об'єктів, компонентів управління JPA і EJB-компонентів.