45902 (607777), страница 2

Файл №607777 45902 (Java: Средства построения отчётов для Java-приложений) 2 страница45902 (607777) страница 22016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Текст

Возможности:

SQL-подобный синтаксис запросов

Секций для расположения и фильтрации данных

Поддерживаются подзапросы

Имеется API интерфейс к управлению запросами

Поддерживается передача параметров в запросы

Печать из аплетов и в PDF

Цены

Версия

Цена

Style Report/Lite

Free

Style Report/Pro

$995

Style Report/Source

$3995

Style Report/Enterprise (Include one development server runtime license)

$2980

Runtime

Бесплатный для продуктов, не являющихся средствами разработки.

URL: http://www.inetsoftcorp.com/

Примечание:

К сожалению, пришлось иметь дело только с бета-версией данного продукта, которую не удалось заставить работать. Однако бета-версия продукта Style Report Lite 3.0 заслуживает самого пристального внимания. Из всех протестированных средств построения отчётов, её в большей степени удалось русифицировать. Управление отчётом на уровне API позволяет добиться большоё гибкости и комбинировать самые разнообразные данные приложения. Поддерживаются шрифты, изображения, богатый набор стилей таблиц. Однако расплатой за это является необходимость программирования отчётов. Дизайнер отчётов больше ориентирован на построение разметки страницы, чем на описания секций отчета, что затрудняет построение отчетов с группировками. Такая обработка выносится на уровень программы, и элементы отчёта предполагается создавать из программы без помощи дизайнера. Версии Style Report DataSource Edition является гораздо более удобным средством для построения отчётов по базам данных, однако посмотреть её функциональность не удалось. В целом этот продукт является серьёзным претендентом на встраивание в приложения. Хотя требует достаточно высокой квалификации для создания отчета. К недостаткам, можно также отнести невозможность запустить выполнения отчета во фрейме приложения. Если нужно составить несколько встроенных в приложение отчётов StyleReport прекрасно для этого подойдёт.

Средства для построения отчётов, не включенные в тестирование

EspressChart.

EspressChartTM is a set of tools that enables you to easily include dynamic charts in your Java applications and on your Web pages. You can display the chart as a Java applet or PNG/GIF/JPEG image in your browser. (Note: EspressChart can be used in a servlet to generate PNG/GIF/JPEG images on the server dynamically.) It is written in 100% pure Java so it is completely platform independent. EspressChart supports JDBC/ODBC for retrieving and plotting data from any database.

URL: http://www.quadbase.com/espresschart/index.html

NetCharts.

NetCharts is a suite of Java applets that allows HTML authors, web developers, and Java programmers to quickly and easily create on-line charts from virtually any data source, with minimal coding. NetCharts supports any Java 1.0.x or 1.1.x enabled platform, including PCs, UNIX and network computers. All applets can be viewed through any Java compatible Web browser and support the use of the JDBC interface to retrieve parameter definitions or data values from one or more database servers or data sources, including Oracle, Sybase, Informix, DB2, Microsoft SQL Server, dBase, Access and Excel.

URL: http://www.cartworks.com

Java: Конфигурация программ.

Содержание:

Зачем нужно конфигурирование?

Что именно стоит настраивать.

Способы хранения настроек.

Ini-файлы.

Файлы Properties.

XML-файлы.

Сериализация.

Базы данных.

Скрипты.

Пример программы с конфигурацией в XML.

Зачем нужно конфигурирование?

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

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

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

Что именно стоит настраивать.

Вот типичные примеры данных, которые часто стоит вынести в настройки:

Всевозможные каталоги. Например - пути до файлов данных, каталоги импорта/экспорта.

Сетевые настройки. Имена серверов, IP-адреса, порты, имена и пароли для автоматического доступа.

Настройки баз данных. Имена JDBC-драйверов, URL базы данных, SQL-запросы, зависимые от используемой БД.

Настройки внешнего вида. Настройки Swing-овского Look & Feel-а, используемые шрифты, размеры, цвета, настройки горячих клавиш.

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

Например, довольно часто встречаемая ситуация - настройка соединения с БД. Начинающие программисты часто пишут нечто подобное:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con = DriverManager.getConnection("jdbc:odbc:MyDatabase",user,password);

Таким образом программа привязывается к конкретному JDBC драйверу. Использовать другой драйвер, например заменить мост на RMI-прокси или, в случае Oracle, OCI на Thin без перекомпиляции уже нельзя.

Способы хранения настроек.

В объектном программировании всё представляется в виде объектов. Настройки лучше всего при этом рассматривать как свойства определённых объектов, которые хранятся в файлах конфигураций. То, каким образом эти настройки считываются и записываются тесно взаимосвязано с форматом файлов и выбраной стратегией администрирования. Рассмотрим идеальный вариант:

Настраиваемый объект не должен содержать знаний о формате файлов и способе чтения/записи. Это позволило бы, в случае необходимости, заменить один способ другим.

Большинство настроек должны выполняться при помощи программы (подпункт меню или отдельная программа настройки). Это сильно облегчает жизнь человека, который занимается администрированием. У большинства "юниксоидов" это может вызвать непонимание :-), но редактированием текстовых файлов в современном мире во многих случаях не обойтись.

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

К сожалению этот идеальный вариант довольно трудно сделать на практике. Первое требование предполагает разработку универсального механизма сохранения объектов. Такие системы уже есть готовые, но часто они не подходят по тем или иным параметрам. Разработать же самому такую систему - далеко не каждому под силу.

Второе требование подразумевает, что для каждого объекта пишется своя панель (или диалог) для редактирования настроек. В случае большого количества объектов стоит попробовать использовать универсальные механизмы. Один из вариантов - использование стандарта JavaBeans. Этот стандарт разрабатывался для визуальных систем программирования, но, из-за сходства решаемых задач, также хорошо подходит для универсального конфигурирования. Но это тоже не самая простая задача, поэтому часто разумно предусмотреть возможность альтернативного варианта конфигурирования для пожарных случаев - например, при помощи обычных текстовых редакторов в случае использования текстовых форматов файлов.

Разумное же умолчание для параметров часто просто невозможно представить. Например, что поставить в качестве имени SMTP-сервера? В случае Unix-систем можно попробовать поставить localhost, но для Windows-мира это редко кому подойдёт.

Рассмотрим наиболее распространённые варианты:

Ini-файлы.

Ini-файлы - это был самый распространённый вариант в эпоху Windows 3.x. Сейчас в виндовых программах он стал вытесняться хранением настроек в реестре. Тем не менее ini - это один из простейших вариантов хранения настроек. К сожалению довольно часто эта простота заставляет прибегать к различно рода ухищрениям. Пример типичного ini-файла:

[Communication]

InputDir=INPUT

OutputDir=OUTPUT

ArchDir=ARHIV

TransferPath = a:\cour

[Warning]

NoReceived=No

[Addons]

Numb = 3

MenuName1 = ~N~orton

ProgName1 = mousesav c:\command.com /c nc

MenuName2 = Win - ~Б~локнот

ProgName2 = notepad

MenuName3 = Импорт из формата АБ "Инкомбанк"

ProgName3 = incom.bat

В Java нет стандартного класса для чтения ini-файлов, но это не проблема. Т.к. формат очень прост, его легко сделать самому:

import java.io.*;

import java.util.*;

public class INIFile

{

Properties iniProperty = new Properties();

public INIFile(File f) { this( f.getPath() ); }

public INIFile(String fname) throws IOException { loadFile( fname ); }

private void loadFile( String fname ) throws IOException

{

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fname)));

try

{

String section = "";

String line;

while( (line = br.readLine())!=null )

{

if( line.startsWith(";") ) continue;

if( line.startsWith("[") )

{

section = line.substring(1,line.lastIndexOf("]")).trim();

continue;

}

addProperty(section,line);

}

}

finally { br.close(); }

}

private void addProperty(String section,String line)

{

int equalIndex = line.indexOf("=");

if( equalIndex > 0 )

{

String name = section+'.'+line.substring(0,equalIndex).trim();

String value = line.substring(equalIndex+1).trim();

iniProperty.put(name,value);

}

}

public String getProperty(String section,String var,String def)

{

return iniProperty.getProperty(section+'.'+var,def);

}

public int getProperty(String section,String var,int def)

{

String sval = getProperty(section,var,Integer.toString(def));

return Integer.decode(sval).intValue();

}

public boolean getProperty(String section,String var,boolean def)

{

String sval = getProperty(section,var,def ? "True":"False");

return sval.equalsIgnoreCase("Yes") || sval.equalsIgnoreCase("True");

}

}

Файлы Properties.

Этот формат распространён в Unix-мире. Он ещё проще ini-файлов, т.к. в нём отсутствует понятие секций - всё состоит из ключей и значений. Пример типичного файла:

# Database configuration

Database.Driver=sun.jdbc.odbc.JdbcOdbcDriver

Database.DataURL=jdbc:odbc:MyDatabase

Database.Prop.user=user

Database.Prop.password=password

В Java есть готовый класс для чтения/записи таких файлов (java.util.Properties), но с ним есть некоторые проблемы. Во первых для чтения невозможно задать кодировку файла, а это означает проблемы с русскими буквами. Во вторых стандартная функция записи сохраняет данные в порядке следования хэш-значений ключей, что значит - как ей больше понравится. Но это тоже легко разрешимо - достаточно написать свою читалку/писалку.

XML-файлы.

Этот формат подходит для многих целей, в том числе и для хранения настроек. XML-формат ориентирован на древовидные структуры, что довольно естественым образом отображается на объекты. Пример типичного файла:

driver="sun.jdbc.odbc.JdbcOdbcDriver"

dataURL="jdbc:odbc:MyDatabase">

user

password

Для чтения и записи таких файлов предназначены специальные библиотеки - так называемые XML-парсеры. Таких парсеров уже сделано довольно много, так что писать его самому нет большого смысла - достаточно лишь подобрать подходящий. Для парсеров было разработано два стандартных программных интерфейса - событийный (SAX) и иерархический (DOM). Есть также и парсеры со своим интерфейсом. Размер jar-а с парсером может варьироваться от нескольких килобайт до мегабайта - в зависимости от поддерживаемых интерфейсов и возможностей.

Характеристики

Тип файла
Документ
Размер
270,24 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6689
Авторов
на СтудИзбе
290
Средний доход
с одного платного файла
Обучение Подробнее