Support Your Application with JClass Components, Whatever Your Design Choice
As you develop your application, you will be faced with numerous choices, both in terms of architecture and technology, before even choosing supporting tools and software packages. Often, there are a variety of competing factors that will come to the fore well before you choose components to support your application’s functionality. Furthermore, these choices may be made on a project-by-project basis so making a choice that has lasting value to your organization may be difficult.
Consider the case of creating charts and graphs to help visualize your data — a given implementation of this functionality may not be appropriate depending on whether you expect graphics to be handled by a server or a client application. Fortunately, if you are writing your applications in Java, JClass has both desktop and server versions available for its components, including its packages for rendering charts and graphs, report generation, and rendering dashboard gauges. Therefore these architectural choices won’t limit your options for adding data visualizations.
Architectural Choices for Applications
A simplified typical 3 tier architecture
The reason for the bias of server-side technologies as part of the Java developer’s skill set owes in part to the popularity of N-tiered architectures for enterprise development (architectures that separate out presentation, business logic, and storage concerns). Larger enterprises tend to store data in central repositories (given issues with size of datasets, availability, back ups, and security). A service layer on top of that storage ensures that business logic managing the data is consistent. Micro services are now a typical way to expose that functionality to a variety of clients handling presentation duties.
Thick Versus Thin Clients
An example of a Swing based application
While there are many advantages as far as the distribution and maintenance for thin browser-based clients, for a long time the thicker desktop applications were regarded as more responsive to interaction from end users and offered richer user interface and multimedia experiences. While there are still certain niches where thick clients will still be popular, these days the main technical limitation on a thin client’s suitability would be the necessity for a network connection and issues with working offline. Even then, a significant barrier to thick client development will be security concerns. Organizations may not have the necessary internal security staff with the correct tools and experience to assess and validate a thick client.
There are still, of course, issues with doing server side development supporting thin clients, despite the fact that many aspects such as hosting having been commodified. These include issues with the hassle of uploading files, securing the web app, hosting fees, bandwidth costs and the necessary IT resources to support such an application. And while common frameworks such as Spring have eased implementation of micro services and the standard model-view-controller pattern, developers will still have to deal with inter-service communication, authentication/authorization, distributed logging and tracing, etc. If the target audience of a given application is limited, these costs and this level of development may not be justified. Certainly, a stand-alone utility program can live happily on the desktop without any need for consideration of multi-tiered architectures. There are also of course legacy applications with thick clients still in the wild that continue to be maintained and serve their function.
JClass Supports Your Client of Choice
Fortunately, if your goal is to enhance your application with charts and graphs or other data visualizations, JClass offers both desktop and server versions of its comprehensive suite of options for generating well formatted and professional visualizations of your data. So regardless of the types of clients being deployed by your organization, there is a solution JClass offers that can meet your needs.
For instance, a wide variety of options for creating charts and graphs includes pie, bar, scatter plot, area, Hi-Lo, candle, and polar charts. JClass ServerChart also offers a timeline style charts for such as Gantt charts. These charts can be populated with data from different data sources (such as XML or JavaBeans) and have a number of display options that can be customized, such as transparency.
Both implementations of the charting component can be prototyped and customized easily by developers, either using the JClass Chart Customizer for the desktop or with JClass ServerChart Designer. These tools provide a quick way to set the dimensions and properties of axes and the legend. With utilities such as color pickers and font selectors, creators of both thick and thin clients have options for prototyping their charts and graphs to suit their needs and show potential end users, even without having to write any code. For desktop clients, developers can experiment with combinations of property settings, seeing results immediately in the context of a running application, greatly aiding chart debugging. The JClass Chart Customizer may even be configured such that it is available run time for end users to their own customizations with the click of a mouse button. The JChart Server Chart Designer may be configured to allow custom charts to be added to its Chart Palette and the creation and export of customized preferences.
In the case where you do decide to develop a thick client, JClass offers a broad collection of GUI components and utility classes designed to augment Swing’s basic offerings with JClass Elements. These elements include font and calendar choosers, help panels and splash screens, as well as sortable tables and tree explorers. Additionally JClass LiveTable is a Java GUI component that displays rows and columns of user- interactive text, images, hypertext links, and other Java components in a scrollable window.
Current JClass customers with an active maintenance and support agreement can upgrade their current JClass version for free. Scout Solutions has a dedicated JClass Support team that is available to fix technical problems and answer questions at any time. Save yourself the trouble of switching to a new program and see what JClass can offer for you.