HP3000-L Archives

November 2001, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Chris Thompson <[log in to unmask]>
Reply To:
Chris Thompson <[log in to unmask]>
Date:
Mon, 12 Nov 2001 11:16:06 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (153 lines)
Steve, I will try to answer your questions briefly although this is not
easy since Java and J2EE is a vast subject important to next generation
systems design and software engineering as well as integration and
migration.


JAVA - platform independent, inherently  object-orriented, programming
language and design framework having the additional benefit of extensive
widely available component software for integration into applications -
you don't need to re-invent the wheel. There are several GUI development
environments but if you want support for Servlets and EJB's together
with a test environment then IBM's Visual Age for Java - enterprise
edition is arguably one of the best.

J2EE - a framework and set of specifications for designing, deploying,
and managing portable Java-based distributed component software.
See http://java.sun.com/j2ee/blueprints/

MIDDLEWARE - software that runs in the middle tier (not client nor
server) that provides application services; typically via Servlets and
EJB's. Both SERVLETS and EJB's are middleware components written in Java
and have to be designed to meet J2EE specifications. Middleware servers
can run on the same node as back end database servers or on separate
node(s) which may be the same or different platforms.

1st Generation Internet
ODBC - proprietary inefficient method of accessing remote databases.
PERL/CGI simple programming method/language for performing server-side
functions including database access. Quick and dirty but doesn't scale
well - complete process initiation is required for every client request.

2nd Generation Internet
Servlets  -  portable J2EE-based server-side Java applications that
extend the capabilities of a web server. They run completely on the Web
server and are a far more efficient replacement for CGI-BIN programs.
They are deployed to and run under the control of a J2EE standard
servlet engines such as ORION  or TOMCAT which both integrate with the
APACHE Web Server. Lutris Enhydra is another J2EE Servlet engine but it
also has proprietary non-J2EE features such as  XMLC.
Typically servlets access back-end databases via type 2 or 3 JDBC
drivers although other more efficient methods are available such as
<plug> ADBC from ANSI </plug>
Servlets offer security, performance, portability, and pooling.
Their limitation include, no transaction management, limited scalability
and load balancing, and inherent multi-threadedness which means the code
must be re-entrant and synchronised.

3rd Generation Internet
EJB (Enterprise Java Beans) Architecture adds a variety of services to
the middle tier which make it much easier for programming and
portability. For example, transaction management, secure environment,
session management,  web services, session management, persistence
management, naming services for accessing objects.
EJB's are portable re-usable software components designed to the J2EE
EJB standard. They are deployed in EJB Containers which run within EJB
Servers. The container transparently handles all the management services
for you including code generation to access the beans, enforcing
transaction requirements, persistence management, security services,
naming services. EJB's are used to implement business logic and data
objects. A "data" bean, which will typically be implemented as an Entity
Bean, can be any meaningful collection of data, usually obtained from a
back-end database. But, because it is implemented as an Object, it can
have methods which means that you have access to and control over the
data in the bean, who can access it, how it can be modified,
distributed, persisted, and so on.
This is very powerful, scales well, yet is relatively easy to program.
EJB Servers include products such as IBM Websphere, BEA Weblogic, which
together have %80 of the market, and Orion which is used by Oracle and
also by the <plug> ANSI Web/iX software </plug>.


JDCB and Connectors. It is quite correct that there are four type of
JDBC. As you might expect the later version, type 4, has advantages over
the earlier types 1,2, and 3. For example, the type 1 JDBC driver was
merely a bridge between odbc and jdbc and was entirely client-side.
It is now a commonly held opinion that JDBC type 4 drivers are to be
preferred over any of the other 3 types. One reason for this, I
understand, is that type 4's are entirely server side, don't require a
driver manager, and fully implement native DBMS intrinsics as well as
providing two phase commit and roll-back facilities. Also type 4's
integrate more easily with EJB servers. Presently JDBC 2.1 is the
relevant specification but JDBC 3.0 is in final draft. See http://java.s
un.com/products/jdbc/

CONNECTORS - The J2EE connector architecture provides a standard way for
back-end applications such as ERP and CRM systems to "plug-and-play"
with any J2EE platform-compatible application server. It is aimed at
simplifying integration complexities and is part of the J2EE 1.3
platform.

PROGRAMMING and BUSINESS BENEFITS
I believe that the programming benefits of using Java and J2EE are self-
evident from the foregoing. A single platform-independent language;
extensive widely available components, servers, support; simplified
design possibilities, extensively specified J2EE standards for good
supportable design, excellent GUI-based development and test
environments.

The business benefits are also fairly clear - existing applications can
be migrated to platform-independence, first by re-engineering the client
presentation logic either to a browser-based environment with Applets,
or to stand-alone Java applications using the feature and function-rich
facilities provided by the extensive range of Java classes provided with
the JDK. Secondly by moving the business logic, session management,
access management and security into a J2EE standards-based middle tier
implementation, and thirdly by re-engineering the database access so
that changing database is simply a question of changing the JDBC driver
or Connector classes: changing middleware also is simply a matter of
selecting a different EJB server.

In this way a high degree of platform independence is achieved and
together with the benefit of reusable component architecture, the
business investment is protected from lock-in or  lock-out - which is
what happens when the supplier decides not to support the platform any
longer and you wonder why you made the investment in that company in the
first place.

Regards,
Chris Thompson
----------------------------------------------------------------
The Internet Agency
European Distributors of ANSI - ADBC, Web/iX, and MPE/iX e-Client
Distributors for CCS TRAX Cobol
www.the-internet-agency.com
----------------------------------------------------------------

In article <[log in to unmask]>, Steven Beverley
<[log in to unmask]> writes
>I run an MPE shop an am really confused by this new terminology,  -
>middleware, J2EE, EJB, etc.
>I understand the benefits of using ODBC for database access and http/html
>PERL and CGI for creating dynamic web integration and content  but I dont
>see why I need to consider using Java, Servlets, or the other Java related
>technologies.
>Can someone explain the benefits both from a programming point of view and
>from a
>business point of view.
>
>Also JDBC is particularly confusing since there seems to be four JDBC types
>and three standards, and not all types seem to be equal or useful. Also what
>are connectors in this context and why would I need to consider them.
>
>Regards
>
>Steven Beverley
>
>* To join/leave the list, search archives, change list settings, *
>* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
>

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2