J2ME applet - клиент для выполнения транзакций

Николай15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.12.2009

Мутно написано, понимаю.

Поясню.

Есть база данных. К этой базе есть административный интерфейс на PHP - можно добавлять и редактировать пользователей и класть им на счёт средства.

Есть клиент. После того как оператор зачислил ему на счёт средства, клиент получает доступ к простому интерфейсу, с помощью которого может сделать только одну простую операцию - перевести средства со своего счёта на чей-то еще. Такая транзакция сопровождается определёнными проверками - есть ли средства на счету, есть ли право переводить их. Если всё ОК - перевод свершается.

Любой перевод сопровождается ещё несколькими служебными транзакциями, которые, по сути, тоже переводят средства с одного счёта на другой.

Это всё уже почти готово. Логика работает, веб-морда есть, то-сё... дорабатывается, но почти готово.

Теперь надо написать апплет для телефона. Внутри апплета уже прошит номер аккаунта. Это можно сделать как в конфигураторе апплета (который запаролен), либо же формировать апплет заранее с прошитым в нём номера счёта. Причем так прошитым, чтобы нельзя было апплет скачать на комп, поменять там номер на другой :) и залить обратно.

Одним словом, апплет с прошитым в нём номером аккаунта должен быть защищён от взлома и модификации, а также от скачивания на комп и анализа. Понятно, что можно сломать всё, было бы желание, но надо приложить разумные усилия и получить разумную защищенность.

Итак, апплет... Запускаем. По HTTPS апплет устанавливает соединение с "сервером", аутентифицирует своего владельца (надо будет продумать этот вопрос отдельно - возможно, в апплет будут жОстко прошиты логин и пароль клиента, такие же, которые используются для доступа к обычному интерфейсу; понятно, что они тоже должны быть зашифрованы аццки внутри апплета).

После того, как аутентификация пройдена, появлется тот же функционал, что и в обычном интерфейсе - можно ввести айди реципиента и кол-во "денег". Проверка на валидность, если всё ОК - то перевод совершается. Всё точно также как и в обычном интерфейсе, только с телефона.

Так что суть, в общем, несложная, несмотря на много слов :).

Нужно пока оценить, во что это выльется по деньгам, на старте. Потом это всё надо будет как-то поддерживать, иногда что-то дописывать.

Как будет апплет соединятся с базой - пока не представляю. Возможно, надо будет как-то коннектится к уже существующей веб-морде и проводить транзакции с её помощью. Так даже лучше, ибо там уже есть все необходимые проверки. Но как это сделать - не представляю.

Возможно, надо будет написать некую прокладку, которая будет с одной стороны слушать апплет с телефона, а с другой - делать то же, что уже делает обычный клиентский интерфейс. По идее, авторам интерфейса разумно дописать серверную часть, котоая будет слушать команды с апплета.

Если так - допишут. Пока же надо определится, с чего стартуем по деньгам и срокам. Кому интересно - маякуйте. Крайне желательно, если разработчик будет в Киеве.