- •Інтернет-програмування
- •Тема 1. Вступ до Інтернет программування 3
- •Тема 2. Аутентифікація і авторизація користувачів 18
- •Тема 7. Практична реалізація баз даних в інтернеті 91
- •Тема 1. Вступ до Інтернет программування
- •1.1. Інтернет-додатки - основні відомості
- •1.2. Принцип роботи Web-додатків
- •1.3.Можливості asp. Net
- •1.4.Переваги asp.Net
- •1.5.Структура Web-додатків
- •1.6. Компоненти Web-форм
- •1.7. Мови програмування
- •1.8.Створення проекту Web-додатка
- •1.8.1. Створення нового Web-додатка
- •1.8.2.Керування проектом за допомогою iis
- •1.8.3.Створення віртуальних каталогів для Web-додатків
- •1.8.4. Створення каталогу subweb
- •1.8.5. Створення нового проекту у віртуальному каталозі
- •1.8.6. Розміщення елементів керування й написання коду
- •Тема 2. Аутентифікація і авторизація користувачів
- •2.1. Анонімний доступ
- •2.2. Доступ аутентифікованих користувачів
- •2.3. Аутентифікація запитів html-сторінок
- •2.4. Аутентифікація Windows
- •2.4.1. Включення аутентификации Windows
- •2.4.2. Призначення прав доступу окремим користувачам
- •2.4.3. Застосування авторизації, заснованої на ролях
- •2.4.4. Витяг ідентифікаційних даних користувача
- •2.4.5.Параметри iis і аутентификация засобами Windows
- •2.5. Аутентифікація Forms
- •2.5.1. Як задіяти аутентификацию за допомогою форм
- •2.5.2. Вибір методу аутентификации
- •2.5.3 Створення вхідної Web-форми
- •2.5.4 Аутентифікація за допомогою бази даних
- •2.5.5. Додавання користувачів у базу даних
- •2.6. Аутентифікація Passport|
- •2.6.1. Як задіювати аутентифікацію Passport|
- •Тема 3. Обробка подій
- •3.1. Події життєвого циклу Web-додатка
- •3.2. Збереження даних Web-форми
- •3.4. Події Web-форми
- •3.5. Події серверних елементів керування
- •3.6. Відключення змінної стану Session
- •3.7. Визначення моменту завершення додатка
- •Тема 4. Простори імен в Web-додатках
- •4.1. Огляд простору імен Web
- •4.2. Використання об'єкту Application|
- •4.3. Використання об'єкту Page|
- •4.4. Використання об'єкту Response|
- •Тема 5. Збереження відомостей про стан
- •5.1. Способи збереження відомостей про стан
- •5.1.1 Використання рядків запитів
- •5.1.2 Використання файлів cookie|
- •5.1.3. Використання стану відображення
- •5.1.4. Використання змінних стану Application і Session
- •5.2. Впорядкування доступу до змінних стану
- •Тема 6. Використання баз даних в додатках asp.Net
- •6.1. Основні відомості про модель доступу до даних ado|.Net
- •6.1.1. АрАрхітектура ado.Net
- •6.2. Організація взаємодії з бд
- •6.2.1 Підключення до бд
- •6.2.2. Виконання команд над наборами даних
- •6.2.3. Використання команд, що параметризуються
- •6.2.4. Використання процедур, що зберігаються
- •6.3. Від'єднані набори даних
- •6.3.1. Клас DataSet|
- •6.3.2. Використання DataSet
- •6.3.3. Клас DataAdapter|
- •6.4. Прив'язка і відображення даних
- •6.4.1. Прив'язка з одним значенням
- •6.4.2. Прив'язка з множинним значенням
- •6.5. Використання параметрів в запитах
- •6.6. Оновлення даних
- •Тема 7. Практична реалізація баз даних в інтернеті
- •7.1. Яким має бути ефективний Інтернет-магазин.
- •7.1.2 . Послідовність роботи інтернет-магазину: |
- •7.1.3. Переваги і можливості|спроможності| Інтернет-магазину
- •7.1.4. Недоліки|нестачі| Інтернет-магазину
- •7.2. Конструювання інтернет-магазину
- •7.3. Технологія asp
- •7.4. Інструменти
- •7.5. Розміщення сайту в інтернеті
- •7.6. База даних інтернет-додатка
- •7.7. Створюємо інтерфейс інтернет-магазину
- •7.7.1. Короткий список основних сторінок сайту:
- •7.7.2. Реалізація каталогу товарів
- •7.7.3. Авторизація відвідувачів|візитерів| інтернет-магазину
- •7.7.4. Оформлення замовлення в інтернет-магазині
- •7.7.5. Розробка інтернет-додатків|застосувань|
7.7.4. Оформлення замовлення в інтернет-магазині
Раніше нами розглянуті |розглядали| принципи побудови|шикування| Інтернет додатка|застосування|.
Які питання вже були розглянуті|розглядали| раніше?
Як швидко створювати нові ASP-сторінки| з|із| єдиним візуальним уявленням|виставою| (об'єкт HTMLPage|)?
Як підключатися до бази даних і працювати із|із| списками записів (об'єкти OBJECTSQL|, OBJECTDB|)?
Як редагувати каталог товарів (модуль search|.asp)?
Як управляти реєстраційними записами відвідувачів|візитерів| магазина і виконувати їх авторизацію (модулі logon|.asp, regForm|.asp, userList|.asp)?
Далі ми зробимо останній крок і реалізуємо логіку роботи із|із| замовленнями.
Нагадаємо про завдання|задачу|:
Відвідувачі|візитери| сайту, як анонімні так і зареєстровані, мають можливість|спроможність| проглядати каталог товарів і оформляти замовлення, які фіксуються в спеціальному журналі|часописі|. Зареєстровані відвідувачі|візитери| можуть проглядати журнал|часопис| своїх замовлень. Крім того, для них автоматично заповнюються контактні реквізити замовлення на підставі даних в реєстраційній картці|карточці| відвідувача|візитера|.
Менеджери сайту володіють додатковими правами. Такими як: редагування каталогу товарів, проглядання загального|спільного| журналу|часопису| замовлень і списку зареєстрованих в магазині покупців.
7.7.5. Розробка інтернет-додатків|застосувань|
В процесі створення|створіння| нашого невеликого учбового курсу був реалізований простою інтернет-магазини, який володіє багатьма необхідними для електронної комерції функціями.
Менеджер магазина може створювати каталог товарів, проглядати списки зареєстрованих покупців, відстежувати стан|достаток| журналу|часопису| замовлень.
Відвідувачі|візитери| магазина, як анонімні, так і зареєстровані, можуть проглядати каталог товарів і оформляти замовлення.
Цей демонстраційний магазин цілком|сповна| працездатний і функціональний. Його можна розміщувати для роботи в інтернеті на будь-якому сервері, на якому підтримуються MS| ASP|, JavaScript|, ADO|.
Питання WEB-дизайну| ми не піднімали. Але|та| ви можете самостійно виконати оформлення магазина або доручити цю роботу дизайнерові.
А зараз ми хотіли б звернути вашу увагу на питання, що залишилися неосвітленими|незасвіченими| в попередніх статтях:
інтеграція електронного магазина з|із| обліковою системою;
оперативність обробки замовлень, що поступили|вчинили|;
інформаційна безпека.
Питання інтеграції з обліковою системою, в якій ведеться товарний облік на вашому підприємстві, є дуже важливим в реальних електронних торгівельних системах. Якщо кількість товарних позицій, виставлених в електронному каталозі, велике, то ручний супровід каталогу стає серйозною проблемою. При щоденній зміні цін, переліку товарів, наявність на складі доводиться витрачати значний час, щоб відновити каталог з 100 позицій. А якщо позицій 5000, то ручний супровід в принципі неможливий.
Інтеграцію з|із| обліковою системою можна виконувати за допомогою операцій експорту/імпорту довідника товарів. Експорт довідника може відбуватися|походити| у файли різного формату. Добре, коли облікова система може підтримувати MDB| або DBF| формат для експорту. В цьому випадку процес імпорту значно спрощується. Можна виконувати експорт і в текстовий файл, але|та| в цьому випадку процедура імпорту складніша і можуть виникнути проблеми, пов'язані з передачею бінарних значень (наприклад, зображень товарів).
При реалізації модуля імпорту товарів необхідно, щоб|аби| для кожного запису в каталозі зберігався код товару в обліковій системі. В цьому випадку при кожному імпорті створюватимуться нові записи тільки|лише| для нових товарів, що з'явилися|появлялися| на складі. А для для раніше імпортованих товарів в записах оновлюватимуться|обновлятимуть| дані про ціну, назву і наявність товару на складі. При цьому описи і зображення товарів, введених|запроваджувати| в ручному режимі, залишатимуться без змін.
Окрім|крім| інтеграції на рівні довідника товарів можливі складніші механізми. Наприклад, можна організувати автоматичну передачу оформлених замовлень в облікову систему для подальшої|дальшої| їх обробки в режимі off-line|.
Для підвищення оперативності обробки замовлень, що поступили, в електронному магазині мають бути реалізовані механізми сповіщення менеджера магазина про нові замовлення.
Звичайне|звичне| таке сповіщення реалізується за допомогою електронної пошти. Якщо замовлень не дуже багато, але|та| час їх обробки грає важливу|поважну| роль для вашого бізнесу, то можна реалізувати сповіщення за допомогою SMS-повідомлень| на мобільний телефон |.
Отримавши|одержувати| сповіщення про нове замовлення менеджер магазина може оперативно зв'язатися з|із| покупцем (по телефону або електронній пошті) і уточнити з|із| ним умови виконання замовлення.
Розробник інтернет-додатків повинен звернути особливу увагу на інформаційну безпеку. При цьому потрібно розуміти, що в поняття «Інформаційна безпека» входять не лише заходи щодо захисту даних від несанкціонованого доступу. Має бути реалізований цілий комплекс заходів, направлених на забезпечення стійкої, безпомилкової, безперебійної роботи додатка.
До заходів по забезпеченню інформаційної безпеки для інтернет-додатка|застосування| можна віднести наступні|слідуючі| дії:
Реалізація механізмів авторизації доступу до інформації. Такі механізми забезпечують комфортну роботу менеджерів при зміні даних. В той же час, вони виключають несанкціонований доступ ординарних відвідувачів до функцій і даних додатка.
Детальне протоколювання подій, що відбуваються на сайті. Таке протоколювання допомагає не лише в разі розбору нештатних ситуацій. Детальний протокол дозволяє виявити переваги відвідувачів. Корисною властивістю інтернет-додатка є автоматична реакція на підозрілі дії відвідувачів. Наприклад, в разі декількох послідовних спроб ввести неправильний пароль система може автоматично заблокувати всі запити, що поступають з відповідної IP-адреса.
Регулярне резервне копіювання даних для швидкого відновлення системи в разі краху.
При розробці програмного коду необхідно коректно ідентифікувати і обробляти всі виняткові ситуації. Особливу увагу необхідно приділити тим модулям, які приймають HTTP-запити від користувачів. Фільтрація, парсинг і аналіз параметрів запиту є обов'язковою умовою.
Необхідно вибрати «правильного» сервіс-провайдера, який забезпечить якісний рівень хостингу. Звичайно, можна встановити сервер для інтернет-магазину в своїй локальній мережі і підключитися до Інтернету за допомогою модему. Але в цьому випадку відвідувачів в магазині не буде. Вони просто не зможуть «достукатися» до вашого сервера.
