JVx (Framework)
Encyclopedia
The JVx Framework is an open source
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 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...

    , or alternatives such as the file system
    File system
    A 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 session
    Session (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 Swing
    Swing (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....

    , SWT
    Standard Widget Toolkit
    The 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 Jambi
    Qt Jambi
    Qt Jambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within Java programming language...

    , GWT
    Google Web Toolkit
    Google 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 GUI
    Graphical user interface
    In 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 session
    Session (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
  • Swing
    Swing (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 Start
    Java Web Start
    In 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 Jambi
    Qt Jambi
    Qt Jambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within Java programming language...

  • GWT
    Google Web Toolkit
    Google 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 help
    Online help
    Online 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
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK