JVx (Framework)
Encyclopedia
The JVx Framework is an open source
framework
for the Java
platform. JVx facilitates the development of professional and efficient database
applications, in a short time and using little source code.
The framework's architecture is based on the multi-tier architecture
model for the development of software systems. Building on a three-tier architecture and following the dependency inversion principle
JVx allows for easy development of efficiently maintained applications. The framework provides full support for all tiers.
An experimental implementation is available for Adobe Flex
.
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...
for the Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
platform. JVx facilitates the development of professional and efficient database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
applications, in a short time and using little source code.
The framework's architecture is based on the multi-tier architecture
Multitier architecture
In software engineering, multi-tier architecture is a client–server architecture in which the presentation, the application processing, and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database...
model for the development of software systems. Building on a three-tier architecture and following the dependency inversion principle
Dependency inversion principle
In object-oriented programming, the dependency inversion principle refers to a specific form of decoupling where conventional dependency relationships established from high-level, policy-setting modules to low-level, dependency modules are inverted for the purpose of rendering high-level modules...
JVx allows for easy development of efficiently maintained applications. The framework provides full support for all tiers.
- A databaseDatabaseA database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
, or alternatives such as the file systemFile systemA file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
, can be used as data tier. - The application tier is provided via an integrated communication server. This server supports the administration of sessionSession (computer science)In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user . A session is set up or established at a certain point...
s and the application logic. - The presentation tier is technology-independent and can be used with various technologies, such as SwingSwing (Java)Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....
, SWTStandard Widget ToolkitThe Standard Widget Toolkit is a graphical widget toolkit for use with the Java platform. It was originally developed by IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE...
, Qt JambiQt JambiQt Jambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within Java programming language...
, GWTGoogle Web ToolkitGoogle Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...
, etc.
Goals
JVx aims to save developers time so that they can focus their efforts on application-specific tasks. Technological hurdles are cleared by the framework. Less time is spent on simple tasks, such as the creation of templates for master data. JVx reduces the overall development effort by providing solutions for repetitive tasks.Functionality
JVx offers the following features, among others:- Automatic list boxes based on the database model
- Generic and technology-independent user interface
- Uniform active model for all GUIGraphical user interfaceIn computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
components - Data and database independence
- Data is not loaded until it is accessed (lazy loading)
- Server side sessionSession (computer science)In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user . A session is set up or established at a certain point...
and object management - Internationalization at the component level
- Complete application framework
- Synchronous and asynchronous communication
- Communication using client and server actions
- Up- und download of data/files
- Integrated picture management
Implementations
For the presentation layer (client) the following implementations exist- SwingSwing (Java)Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....
(Application, Applet Java Web StartJava Web StartIn computing, Java Web Start is a framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser....
– JNLP) - Qt JambiQt JambiQt Jambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within Java programming language...
- GWTGoogle Web ToolkitGoogle Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...
An experimental implementation is available for Adobe Flex
Adobe Flex
Adobe Flex is a software development kit released by Adobe Systems for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform...
.
Enhancements
Several enhancements exist for JVx that result in a high level of comfort for use in enterprise applications. These include:- Dynamic online helpOnline helpOnline help is topic-oriented, procedural or reference information delivered through computer software. It is a form of user assistance. Most online help is designed to give assistance in the use of a software application or operating system, but can also be used to present information on a broad...
- AddOns for use with Android
- AddOns for use with Silverlight