При разработке ИКС службы видеонаблюдения очень важным было сократить количество конфликтов при переходе между основными стадиями разработки, такими как написание кода, интеграция, тестирование, внедрение. В процессе разработки, начиная с самого его начала, важно было гарантировать, что при запуске сборки разрабатываемого проекта каждый раз проделываются одни и те же действия. С дальнейшим усложнением процесса сборки, было также крайне необходимо определить стандарт сборки. Это требовало, как можно точнее определить, задокументировать и автоматизировать точный набор определенных шагов.
Необходимо было автоматизировать процессы компиляции исходных кодов, развертывание на удаленных серверах, создания клиентов к удаленным подсистемам. Для решения этих задач был выбран инструмент Ant 1.6 и разработан ряд ant целей. Текст ant цели по автоматическому генерированию клиента к веб-сервису приведен в листинге 3.1.
Листинг 3.1- Листинг ant цели по генерированию клиента к веб-сервису
<!-- == macrodef: build-client-from-source == -->
<macrodef name="build-client-from-source">
<attribute name="sei.package" />
<attribute name="sei.class" />
<attribute name="service.name" />
<attribute name="client.package" />
<sequential>
<wsgen sei="@{sei.package}.@{sei.class}" destdir="${build.wsgen.classes}"="${build.wsgen.resource}" keep="false" genwsdl="true">
<classpath>
<path refid="jaxws.classpath" />
<pathelement path="${build.classes.home}" />
</classpath>
</wsgen>
<wsimport debug="true" verbose="true" keep="true" extension="true" destdir="${build.wsimport.src}"="@{client.package}" Xnocompile="true" wsdl="${build.wsgen.resource}/@{service.name}.wsdl"="/META-INF/@{service.name}.wsdl" />
<replace dir="${build.wsimport.src}" includes="**/@{service.name}.java,**/@{service.name}_Service.java"=".class.getResource(".");" value=".class.getResource("");" />
<javac srcdir="${build.wsimport.src}" destdir="${build.wsimport.classes}" source="${javac.source.version}"="${javac.target.version}" debug="on" debuglevel="lines,source" encoding="UTF-8"="true" classpath="jaxws.classpath" />
<copy todir="${build.wsimport.classes}/META-INF/">
<fileset dir="${build.wsgen.resource}" includes="**/*" />
</copy>
</sequential>
</macrodef>
<target name="build-client-from-source" description="Build client from source" depends="clean,setup,compile">
<build-client-from-source client.package=" com.videoarch.mediaserver.wsclient".class="MediaServerService" sei.package="com.videoarch.mediaserver.ws" service.name="MediaServerService" />
<jar destfile="${build.wsimport.home}/${ant.project.name}-client.jar" basedir="${build.wsimport.classes}">
<manifest>
<attribute name="Built-By" value="${user.name}" />
<attribute name="Implementation-Title" value="${ant.project.name}" />
<attribute name="Implementation-Version" value="${implementation.vresion}" />
<attribute name="Implementation-Time" value="${TODAY}" />
<attribute name="Implementation-Vendor" value="" />
</manifest>
</jar>
</target>
…
Проектирование автомата подачи звонков
Разработанный автомат подачи звонков удовлетворяет всем
требованиям, предъявленным в задании. Настройка автомата производится с помощью
трех кнопок: «вверх» ...
Цифровая обработка сигналов
Развитие телекоммуникационных сетей увеличивает роль и значение передачи дискретных сообщений в электросвязи.
Целью дисциплины ТЦС является:
· изложение п ...
Моделирование элементов и систем управления
Управляемый объект состоит их четырех типовых динамических звеньев, соединенных между собой в определенной последовательности с образованием двух замкнутых контуров (рису ...