This specification documents the system level requirements for the log browser project. The objectives of this specification are to provide a system overview including definition, goals, objectives, context, and major capabilities.
This specification is organized into the following sections:
This SRS describes the software and nonfunctional requirement for release 1.0 of the log browser. This document is intended to be used by the Apache CXF community that will implement and verify the correct functioning of the system. Unless otherwise noted, all requirements specified here are high priority and committed for release 1.0.
Apache CXF is an open source services framework. It is very advanced library with many additional tools and plugins. Nevertheless there is still an insufficient amount of maintenance and administration tools for people who aren't developers - like administrators, testers etc. The ideal solution would be to create group of web applications for performing administration tasks - like browse logs, browse requests / responses etc.
The goal of this project is to radically improve way of view logs of your application. Thanks for this Apache CXF library will be more useful and even more easy for maintenance.
The product have to be highly accessible to end users. To enable this wide access to the application, the new system will be design as web application.
However the product is not a standalone application. It have to be integrated with your existing application - some configuration process is required. The log browser will be designed for use as long as the web browser specified in this document remain available.
The product will also include user guidelines available on the project site.
In some respects, the application is the next generation of the old text-based viewing server log file (or several files), which is held on the server.
The log browser is a server based application with a web-based client for end user access. Server part will be built of
AtomPullBean component is responsible for gathering and publishing log entries. Whereas
BootstrapStorage component is responsible for storing users' settings. All of these components will work inside your software – they are not independent application.
The log browser will be able to subscribe many endpoints, which provide list of log entires. Suppose your application publish two endpoints. First channel contains all entries of any activity, but second one contains only entries from DAO layer.
After select specified endpoint user will be able to search, navigate between pages or see entry details. All of these features will be defined and described later in this same document. The actual user interface will be described in Software Design Description section.
Main features, which are offered by the application:
Target users are testers and administrators.
The proposed solution will be implemented in a client/server model. All processing of searches and storing of information will be done at server side. Additionally settings will be stored locally in cookie file to increase performance. However server will store backup of the settings for recover;
BootstrapStoragecomponent store users' settings in external data source, for example XML file. Therefore it is important that runtime environment has enough free disk space. By default
AtomPullBeancomponent store limited amount of log entries. Developer have to implement
ReadWriteStorageinterface. in case of requirement to store entries on a disk;
A few issues limit our choices when implementing a suitable solution for the log browser project. It is impossible to subscribe endpoints from different hosts (others than host which serve static content), because of same origin policy. Wherever possible, the application should retain full usability with a keyboard input device only.
Documentation for end users will be made available from project site. An online tutorial will also be made available. Application will contain link to the documentation page.
We assume that any use of the application will occur in an environment with full compliance to this specification. The application will be used on a client computer that matches or exceeds the requirements laid out in section Operating Environment. The server component of the application will run on a computer system that matches or exceeds the requirements laid out for the server in section Operating Environment.
The following use case diagrams summarize the functional requirements for the log browser:
This section specifies the required system quality factors that are not related to the specific functional requirements documented in the use case model.
BootstrapStorageshould store information in external data source for easy backup;