Статьи

Интервью: ПО для контроля доступа на платформе NetBeans

FERMAX — это испанская семейная компания со штаб-квартирой в Валенсии, Испания. Основанная в 1949 году, компания специализируется на разработке, производстве и коммерциализации аудио / видео систем входа и контроля доступа. В настоящее время FERMAX занимает видное место среди ведущих мировых брендов.

Ниже следует интервью с Освальдо Рубио, разработчиком программного обеспечения в отделе исследований и разработок FERMAX. Продукты, связанные с контролем доступа, требуют как обслуживания, установки программного обеспечения, так и управления информацией. Работа Освальдо заключается в разработке и обслуживании настольного программного обеспечения для анализа отпечатков пальцев, которое подключается к оборудованию для снятия отпечатков пальцев, которое производит FERMAX.
 
Привет Освальдо, каковы некоторые типичные проблемы, связанные с программным обеспечением для анализа отпечатков пальцев?

Первый включает в себя связь между считывателем отпечатков пальцев и компьютером. Для этого мы используем протокол через последовательный порт RS-485, последовательные USB-преобразователи или даже преобразователь RS-485 в TCP, который мы сами создали.

Мы используем коммуникационную библиотеку RXTX ( http://users.frii.com/jarvi/rxtx/ ) для безопасности и стабильности. Связь со сканером отпечатков пальцев осуществляется на скорости 19200 бит / с. Датчик сохраняет в памяти шаблон отпечатка пальца для анализа и отправляет его на идентификатор контроллера доступа, который отвечает за контроль доступа к сайту.

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

Чтобы уточнить далее, анализатор отпечатков пальцев выполняется на считывателе, сохраняя в базе данных копию следов в формате BLOB. Другие услуги, добавленные в программное обеспечение, — это возможность запирать или открывать дверь, так как считыватель подключен к устройству с электрическим замком.

И как вы решили использовать платформу NetBeans в качестве основы этого программного обеспечения?

В 2006 году мы выбрали среду IDE NetBeans в качестве среды программирования для небольших приложений на основе Swing Application Framework, хотя объем унаследованного программного обеспечения по-прежнему зависел от таких сред IDE, как Borland Delphi 7 и Visual Studio.

Только в середине 2009 года мы начали открывать возможности платформы NetBeans, и именно здесь я нашел решение для большого количества устаревшего программного обеспечения, которое до сих пор было рассредоточено до этого момента. Семинар в Мадриде по ImaginaWorks и JavaHispano заставил меня наконец -то переместить остальную часть наших новых разработок на платформе NetBeans.

Каковы основные причины, по которым вы выбрали его?

Первая причина — это модульность и связанная с этим способность разбивать приложение на разные модули с преимуществами, которые это подразумевает для поддержки и независимости кода. Мы можем создавать приложения очень высокого уровня, повторно используя модули, уже реализованные в других приложениях.

Вторая причина — менеджер обновлений. Для нас является сложной задачей контролировать версии, установленные клиентом, особенно установку и поддержание стабильных и обновленных версий. Теперь у нас есть собственный сервер обновлений, на котором мы размещаем модули после их тестирования на сервере разработки.

Давайте теперь посмотрим на приложение.

ХОРОШО. Вот несколько скриншотов:

 

В приложении у нас есть четыре важных пользовательских модуля. Во-первых, «Fermax API», содержащий все абстрактные классы и интерфейсы, которые реализованы парой коммуникационных модулей для шины «IP Decoder» и «Serial Port». Кроме того, есть модуль «Протокол FingerPrint», содержащий всю бизнес-логику и протоколы для связи с читателями, независимо от используемого транспортного уровня, такого как последовательный порт, TCP и USB. Постоянство данных, которыми мы управляем через базу данных Apache Derby, встроенную в проект. В качестве модулей, добавленных на последнем этапе разработки, мы интегрировали один модуль в уровень безопасности, а другой — для управления мультиязычными приложениями независимо от регионального местоположения.

Целью этой модульной архитектуры является то, что она позволяет нашим клиентам расширять эти возможности с помощью других функций, связанных с их собственными потребностями, таких как контроль присутствия и контроль заработной платы. Скоро они будут распространены и размещены среди всех наших клиентов, включая новые функциональные возможности, которые в настоящее время все еще используются в устаревшем программном обеспечении.

Некоторые вещи, которые можно улучшить в платформе NetBeans?

Документация, связанная с системой проекта. Хотя я могу найти очень хорошую документацию в книгах, таких как «
Полное руководство по платформе NetBeans » и на таких сайтах, как http://platform.netbeans.org/tutorials по действиям и поиску, документация не совсем ясна в отношении интерфейсов ProjectFactory и Project. ,

В противном случае, я думаю, что платформа NetBeans — это среда разработки, которая, хотя и имеет несколько медленную кривую обучения, позволяет вам реализовывать крупные проекты в течение разумного периода времени после получения необходимых знаний.

У вас есть советы и рекомендации для других разработчиков платформы NetBeans?

То, что меня беспокоит и порождает много ошибок, — это упаковка приложения. Чтобы избежать таких ошибок при добавлении отсутствующих библиотек, файлов конфигурации и других внешних ресурсов, я всегда включаю эту последовательность в файл «build.xml» проекта платформы NetBeans:

    <target name="build-zip" depends="suite.build-zip">

            <echo message="${app.name}: update zip-distribution with the necessary things for the customer..." />

            <zip destfile="${dist.dir}/${app.name}.zip" update="true">

                <!-- <zipfileset dir="res/" includes="testigo.txt" prefix="${app.name}" />-->

                <zipfileset dir="res/language/platform11/" prefix="${app.name}/platform11" />

                <zipfileset dir="res/language/etc/" prefix="${app.name}/etc" />

                <zipfileset dir="res/language/ide12/" prefix="${app.name}/ide12" />

                <zipfileset dir="res/fermaxlectorhuella/fermaxlectorhuella/config/" prefix="${app.name}/fermaxlectorhuella/config/" />

                <zipfileset dir="res/fermaxlectorhuella/bin/" includes="rxtxSerial.dll" prefix="${app.name}/bin" />              

            </zip>

    </target>  

Другой совет — использовать PackJacket ( http://packjacket.sourceforge.net/ ) при сборке устанавливаемого объекта, т. Е. PackJacket является интерфейсом GUI проекта IzPack.

Спасибо за интервью, Освальдо, и всего наилучшего в будущих разработках, касающихся вашего программного обеспечения для анализа отпечатков пальцев!