Технологии для работы в Internet

Тема 13. Программирование для Internet

Контрольные вопросы

Создание приложения с базой данных

Цель работы - создание приложения, выполняющего операции с базой данных: просмотр, добавление, удаление (лаб. работа labDb-[7,c.66]).

Для создания приложения выполнить следующие этапы:

- Установление доступа к базе данных. Этап заключается в регистрации заданной базы данных, как источника данных.

- Создание заготовки приложения. Этап выполняется автоматически с помощью мастера AppWizard при выполнении этапов настройки приложения с выбором технологии доступа к источнику данных ODBC или DAO.

- Реализация операций с базой данных. Этап выполняется с использованием классов MFC соответствующей технологии доступа к данным.

Воспользуемся файлом db.mdb, который представляет собой базу данных, созданную в СУБД Access. Файл содержит сведения о студентах: Name (Имя), Grade (Курс). Лучше создать собственный файл в любой программе для работы с базами данных.

Пусть экранная форма отображения содержимого базы данных будет выглядеть следующим образом (см. рис. 12.1).

Untitled – labDb
File Edit Record View Help
[ ] [ ] [ ] [ ] [|<] [<] [>] [>|]
Студенты: Имя Ann Группа B__

Рис. 12.1. Отображение содержимого базы данных

1. Какие технологии доступа к данным имеет Visual C++?

2. В чем отличие технологий ODBC и DAO?

3. Как создать приложение, выполняющее операцию просмотра базы данных?

4. Как создать приложение, выполняющее операции добавления и удаления записей?

Visual C++ обладает технологиями, облегчающими разработку приложений для работы в Internet, значительно расширяющими возможности приложений.

К ним относятся Winsock (Windows Socket), MAPI (Messaging Application Programming Interface), WinInet (Windows Internet), ISAPI (Internet Server API), ActiveX для Web.

Программирование в технологии Winsock основано на следующих принципах. Каждый компьютер имеет числовой адрес – IP-адрес, а программы имеют собственный порт. Комбинация IP-адреса и номера порта называется socket (гнездо). Протокол TCP устанавливает дуплексную связь между программами с помощью гнезд. После установления соединения осуществляется передача и прием потока байтов.

В MFC имеются два класса Winsock: базовый класс CAsyncSocket и производный класс CSocket, реализующих асинхронное программирование Winsock, т.е. в каждый момент времени происходит множество событий. Классы облегчают работу с сокетами, так как обеспечивают вызов нужных функций API. Написание Winsock-программ достаточно трудоемкий процесс, требуется много рутинной работы, например, самостоятельное заполнение структуры адреса гнезда.

Технология Winsock может быть применена для написания клиент/серверных программ для Internet, но не использующих приложения типа электронной почты, Web, FTP и других популярных приложений Internet. Для этих приложений лучше использовать MAPI, WinInet, ISAPI, ActiveX для Web, предоставляющие программистам большие возможности.

Технология MAPI (Messaging API - почтовый интерфейс) – это средство разработки приложений, осуществляющих пересылку и прием сообщений для самой популярной информационной службы Internet - электронной почты.

Для использования MAPI достаточно на этапе 4 создания приложения с помощью AppWizard установить флажок на опции MAPI. В меню File создается новый пункт Send, при выборе которого запускается клиент MAPI для посылки сообщения, содержащего текущий документ. Остается только дописать адрес, тему сообщения и текст для документа. Существуют и более сложные интерфейсы MAPI: Extendet MAPI и OLE MessagingiveX.

Технология ISAPI (Internet Server API) применяется для расширения возможностей сервера HTTP, позволяя создавать расширения и фильтры. Расширения – это динамически загружаемые библиотеки (DLL), которые можно вызывать пользователем прямо с Web-страницы. Фильтры – это библиотеки DLL, работающие вместе с сервером и проверяющие данные, идущие к серверу и от него. Но для того, чтобы использовать расширения и фильтры, ISAPI и Web-страница должны находиться на совместном сервере.

Наиболее популярной технологией программирования для Internet является технология WinInet (Windows Internet). В библиотеке классов MFC Visual C++ имеются классы WinInet, облегчающие написание клиентских приложений и освобождающие от использования WinSock. Связь классов WinInet представлена на рис. 13.1.

Работа в Internet происходит в следующей последовательности: класс CInternetSession создает объект класса; затем, при наличии адреса ресурса URL устанавливается соединение с помощью функции OpenURL() по протоколу HTTP (HiperText Transfer Protocol), FTP (File Transfer Protocol) или Gopher (старый текстовый протокол, связи в котором устанавливает администратор); функция OpenUrl() возвращает указатель на файловый объект класса CStdioFile; затем происходит считывание содержимого файла с помощью функций класса CStdioFile.

CObject

CException CInternetSession

 
 


CInternetException CInternetConnection

CFile CFtpConnection


CStdioFile CGopherConnection

CInternetFile CHttpConnection

CHttpFile CFileFind

 
 


CGopherFile CFtpFileFind

CGopherFileFind

 
 


CGopherLocation

Рис. 13.1. Связь классов WinInet

При отсутствии адреса URL сеанс работы с Internet происходит в следующей последовательности: с помощью функций GetHtttpConnection(), GetFtpConnection(), GetGopherConnection() класса CInternetSession определяется объект соединения и устанавливается соединение по указанному протоколу; затем, вызывается функция OpenFile() соответствующего объекта соединения, т.е. CHttpConnection::OpenFile() возвращает объект класса CHttpFile, CFtpConnection::OpenFile() возвращает объект класса CInternetFile, CGopherConnection::OpenFile() возвращает объект класса CGopherFile.

Классы CHttpConnection, CFtpConnection, CGopherConnection используют протоколы соответственно HTTP, FTP, Gopher и представляют собой постоянное соединение с хост-компьютером (обычно протоколы не поддерживают постоянное соединение). Классы CFileFind, CFtpFileFind, CGopherFileFind служат для просмотра соответствующих каталогов и поиска файлов.

Классы WinInet обычно предназначены для написания клиентских приложений, а для написания серверных приложений можно использовать технологию ISAPI (Internet Server API), расширяющую возможности сервера HTTP (World Wide Web).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: