Today, the design of new sophisticated software systems is frequently based
on a J2EETM multi-tier architecture.
Developments based on JAVATM/J2EETM,
however, are very complex and might be difficult to master for less experienced developers.
This disadvantage induced Werum to develop JCoffee.
This framework reduces complexity considerably and makes it
easy to master also for less proficient developers. Thus,
developers can concentrate exclusively on programming the
application without being troubled by basic technology problems.
A standardized development process with tools and wizards for
automatic code generation lets newcomers familiarize themselves
with the framework easily and be productive after just a short
period of time.
Productive staff at a
much earlier stage
More efficient application development
JCoffee includes all the basic functions required in almost any
large-scale application project (e.g. user/rights administration,
calendar functions, NLS, asynchronous processes, print/report functions).
This range of functions is continually advanced and extended. As a result,
application developers can start their work on a fairly high level and
show early results (rapid prototyping). This, too, increases
productivity substantially.
Rapid prototyping and
high level of productivity
Improved code quality
The development environment of JCoffee also comprises rules and
utilities for developing, testing, and documentation to ensure
high code quality, prevent software proliferation, and produce
a uniform quality standard in the project no matter who is involved
in developing. This quality standard not only fulfils the regulations
of ISO 9000, it also complies with the requirements of some industries
going far beyond this. Particularly the pharmaceutical requirements
regarding the development process (GMP, FDA) and functionality
(21 CFR 11) are met.
JCoffee software comes
up to the highest
standard of quality
JCoffee is exceptionally well suited for developing large,
long-term software systems, which are continually adapted
and extended in individual projects by various teams changing
over the years. Such systems may run in many different customer
installations and have many different variants, all of which have
to be maintained.
The point in such development projects is to integrate individual
expertise and the individual project program codes into the standard
system. As a result, the share of standard software strongly increases
in the course of time, the share of individual software declines, and
the overall system functionality is expanded, all at the same time.
The share of standard software increases with each new project.
So, JCoffee is primarily directed at users who develop their own individual
software as inhouse standard and at software companies letting their product
ideas mature in customer projects. JCoffee can be used as basic software
and be a help to get off the ground. With its architecture and the use
of open standards, however, it does not produce any proprietary dependencies.
Still, the technical component model of the J2EETM architecture
alone does not suffice to develop software that is reusable and can be implemented in
project-specific variants at the same time.
It is the application-oriented component model of JCoffee and the use of specific services
and contracts that consistently decouple the components that make the implementation of
reusable software components become reality.
This is what makes it easy to adjust the components to project-specific requirements and
to configure individual software systems reliably on the basis of standard components.
While the J2EE base with its EJBs defines itself by technical characteristics,
application components are simply and only described by their business-related
service interfaces. When designing services and implementing the necessary
business logic the software developers can, therefore, fully concentrate on the
deployment of the defined business rules. The technical framework for J2EE-based
component building is provided almost completely by generation and inheritance
from JCoffee® base classes. The result are application components
which are inherently service-oriented and thus make the J2EE platform the
first choice for enterprise business SOA applications. Based on J2EE best
practices which are constantly applied in JCofffee this approach ensures:
a high productivity of all developers
a high and steady consistent code quality
an adequate level of openness by applying worldwide recognized industry standards
actual reusability of developed services for other projects.