Arch4J is an open source Java architecture framework that provides an
infrastructure of services to support enterprise development.
The framework specifies what the services are, but does not does not
dictate how they are implemented. The framework gives business logic
developers a standard, stable interface to all of the non-business code.
Included are a layered set of modular service providers that facilitate
development of business services, data access, messaging, domain
validation, logging, property file management, an exception framework, a
code generator and more.
The central goal in developing enterprise applications is the isolation of
business logic and business activities into well-thought-out classes with
atomic actions triggering the business logic. In order to get there, the
developer uses many non-business related services to do the work. Many of
these services have been provided by the Java language and its extensions,
but many are changing or are proprietary solutions.
By defining a sufficient solution as an API facade over changing or
competing implementations of the same service, the developer can design
and implement the important business code without worrying about changes
to the services being used.
Many companies that are just starting to do Java development either haven't
had the time to design this set of services or haven't realized yet that
they are needed. This framework can be used as a jump start into the Java
world allowing developers to immediately begin working on the business code.