Java технологія и основні риси та перспективи застосування
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: изложение на тему, контрольная работа 6
| Добавил(а) на сайт: Shubkin.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата
Зазначена вище простота програмування на Java є причиною того, що
розробки на Java коштуватимуть дешевше аналогічних на більш потужніх мовах
програмування. Цьому ж сприяє і переносимість програм на Java, оскільки
ліквідуються витрати пов’язані з адаптацією програми на конкретній
платформі. До того ж інтегровані програми-оболонки для розробки Java
програм коштують набагато дешевше ( 70-100$ ) ніж аналогічні продукти C++,
Delphi ( ~1000$). А набір інструментарію для пакетної компіляції Java
програм JDK (Java Development Kit) є взагалі freeware. Тому платформу Java
можна рекомендувати як ідеальну для створення некомерційних програмних
продуктів, зокрема для галузі освіти.
Перспективи застосування.
Програми на Java можуть знайти різне застосування в навчальному процесі:
інтерактивні навчаючі програми (HTML в поєднанні з Java), програми-тести і
особливо ділові ігри. Додаткові переваги можна отримати, якщо пистати ці
програми у вигляді аплетів, які ініціалізуються з Web сервера внутрішньої
мережі Intranet. В такий спосіб можна уникнути інсталяції програми на
багатьох комп’ютерах - користувач просто запускає Web-броузер і загружає
потрібну сторінку. Для тестових програм, написаних на Java з викориситанням
архітектури клієнт/сервер можна підвищити ступінь конфіденційності. База
даних тестових запитань знаходиться на сервері в каталозі з обмеженим
доступом. Коли користувач загружає аплет, він автоматично підключається до
програми-сервера, яка виконується на сервері і може видавати запитання з
бази даних у відповідь на запит користувача. В такий спосіб
унеможливлюється викрадення бази даних, за умови відсутності фізичного
доступу до серверу у користувачів.
Окреме питання - навчальні ділові ігри. Під такою грою розумітимем гру, за участю кількох користувачів, в якій мається на увазі динамічний обмін інформацією між ними. Система безпеки Java накладає обмеження, внаслідок якого аплет може встановлювати з’єднання лише з хостом, з якого він був загружений і ні з яким більше. Але це обмеження легко обходиться: на сервері виконується програма-сервер, з якою з’єднуються усі клієнти і через яку здійснюється обмін інформацією. Таким чином така програма повинна мати архітектуру клієнт/сервер. В якості приклада наведу спрощену chat- програму. В ній реалізовані базові засоби для створення ділової гри.
Серверна частина програми взята з книги Нотон П. Шилдт Г. «Полный справочник по Java»:-Киев, «Диалектика», 1997 і є практично універсальною для програм такого класу. Можливе легке доопрацювання цієї програми в бік розширення кількості протокольних команд. Клієнтська частина була написана мною. Програма працює наступним чином: користувач запускає аплет із сервера, вводить свій ідентифікатор і бачить перелік ідентифікаторів користувачів, які під’єднані до сервера. Після чого користувач має змогу обмінюватись повідомленнями з іншими. Користувач одержує повідомлення в разі під’єднання або від’єднання користувачів.
Програма складається з 4 класів: Server, ClientConnection, Client та
ServerConnection. Перші 2 класи відносяться до серверної частини, другі 2 -
до клієнтської.
Клас Server: import java.net.*; import java.io.*; import java.util.*;
public class Server implements Runnable { private int port = 6564; private Hashtable idcon = new Hashtable(); private int id = 0; static final String CRLF = "rn";
synchronized void addConnection(Socket s) {
ClientConnection con = new ClientConnection(this, s, id); id++;
}
synchronized void set(String the_id, ClientConnection con) { idcon.remove(the_id) ; con.setBusy(false);
Enumeration e = idcon.keys(); while (e.hasMoreElements()) {
String id = (String)e.nextElement();
ClientConnection other = (ClientConnection) idcon.get(id); if (!other.isBusy()) con.write("add " + other + CRLF);
} idcon.put(the_id, con); broadcast(the_id, "add " + con);
}
synchronized void sendto(String dest, String body) {
ClientConnection con = (ClientConnection)idcon.get(dest); if (con != null) { con.write(body + CRLF);
}
}
synchronized void broadcast(String exclude, String body) {
Enumeration e = idcon.keys(); while (e.hasMoreElements()) {
String id = (String)e.nextElement(); if (!exclude.equals(id)) {
ClientConnection con = (ClientConnection) idcon.get(id); con.write(body + CRLF);
}
}
}
synchronized void delete(String the_id) { broadcast(the_id, "delete " + the_id);
}
Рекомендуем скачать другие рефераты по теме: конспект урока 5 класс, оформление доклада.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата