Versata
- Business Logic Development & Management
Versata provides the most productive solution
for
- creating
- executing
- reusing and
- changing
business logic in your distributed Java application
infrastructure.
Executing Business Logic
Business Logic Executes in the Versata Logic
Server:
| Rule Types |
 |
Are Executed By |
 |
Within the |
| Transaction Rules |
 |
Transaction Logic Engine |
 |
Versata Logic Server |
| Process Models |
 |
Process Logic Engine |
 |
Versata Logic Server |
- Transaction rules are executed by the Transaction Logic
Engine, which runs in the Versata Logic Server.
- Process models are executed by the Process Logic Engine,
which runs in the Versata Logic Server
| Transaction Rules |
 |
 |
 |
Process Models |
| |
|
Figure 3: Transaction Rules
and Process Models execute in the Versata Logic Server |
|
|
Strategic Layering
Versata's products are layered on industry standard platforms
and designed to integrate into enterprise environments.
Versata believes in leveraging industry standards
rather than providing proprietary infrastructure. Currently,
the chosen platform for the Versata Logic Server is the J2EE
application server (IBM WebSphere or BEA WebLogic), which
provides services for scalability, performance, load balancing,
and failover. But more importantly, Versata is committed to
continually migrating to the latest and greatest of industry
standards as they evolve.
In Forrester's research report, "Putting J2EE
to Work", they write "J2EE additions and changes will force
costly application rewrites." "For example: Upgrading from
a J2EE 1.2-compatible app server to a J2EE 1.3-compatible
release should be easy, right? Wrong. The new version of the
Enterprise Java Beans (EJB) specification is different from
the previous version; therefore, firms must budget for recoding
and retesting their EJB's."
Versata believes that this is a burden to be carried
by software vendors rather than corporate IT shops. Rather
than programming your business logic at a 3GL level directly
in Java, companies should invest in capturing their application
business logic at a higher level of abstraction - store your
logic in Versata and deploy to the latest and greatest of
platforms. Versata enables you to do this.
Is there a risk to depending on Versata for this?
Sure, but it is outweighed by the risk of trying to do it
yourself. Not only would you have to understand in detail
the differences between each of the J2EE standards, but you
would have to re-architect, re-code, and re-test your applications
to take advantage of the new features. Do you have the time
or resources to do this? Probably not. And you will be forced
to upgrade. The application server vendors will scurry to
support each new specification and discontinue support of
the older versions. Your applications will become legacy within
a couple of years. Is this a risk that you are willing to
take?
Execution Framework
Versata also provides an Execution Framework to fill the gap
between your custom reusable Java components and the J2EE
application server. These are services, which are necessary
for every distributed application, but aren't yet provided
by the application server. They include such services as value
lists, transaction caching, transaction bracketing, and optimistic
locking.
In Forrester's research report, "Putting J2EE
to Work", they write, "Rely on lead vendors to work around
J2EE shortcomings. Vendors' proprietary features and APIs
may provide legitimate workarounds for fatal shortcomings
in the current J2EE standard." Versata has done this; we are
providing real solutions to the shortcomings of J2EE. In addition,
we also plan to revise these services which each release of
the J2EE specification once these services are provided by
the application servers.
These services are important because they require,
not only the understanding of the Java syntax, but also the
working knowledge of the J2EE architecture. Again from Forrester,
"Object architects define application layers and business
logic. Without the proper logical layering, it will be impossible
for multiple Java developers to work on pieces of the system
in parallel. The object architect defines the system 's logical
layers --presentation layer, business logic layer, data layer
--and the interactions between them. The object architect
must possess object-oriented analysis and design skills, industry/domain
expertise, and distributed systems expertise (in Java with
J2EE if possible, otherwise in C++ with CORBA)."
|