Next Generation CIS - Benefits of J2EE by vkf46332


									Next Generation CIS - Benefits of J2EE

                   Darren Pye
                   Lead Architect
                   Harris Computer Systems
                   May 2003
                                                        Next Generation CIS – Benefits of J2EE

Many businesses find themselves in an awkward position in today’s market. Customers, business
partners, and even internal departments expect to be capable of exchanging information and
services via the Internet. For many organizations, this is a fundamental change in the
requirements of their existing information systems. Within a utility, it is often the Customer
Information System (CIS) that stores and manages the information that must be made accessible.
Many implementations of such systems, that were once considered "best-of-breed', have become
victims to this new requirement. Often built with complex, proprietary technologies, maintaining
and enhancing these systems can be very taxing on IT departments. In many cases, the upkeep
of these systems is simply too expensive to justify. In other cases, enhancement is not an option
due to the limitations of the original systems. Today’s Information systems need to serve the
needs of the organization as well as the needs of its customers and partners.

Businesses that still rely on legacy systems can greatly benefit from the mistakes made by the
early implementations of modern internet-ready systems. As with any new product/technology,
the first generation of these systems lacked standards and vendor support. Scalability, integration
and security were also common problems that plagued the early adopters. Today’s information
systems are built with mature technology that has been proven and standardized. Of the many
approaches that have been tried, one has emerged as the leader and the standard to which all
others are measured -- Java 2 Enterprise Edition.

What is Java 2 Enterprise Edition?
Java 2 Enterprise Edition (J2EE) is a standard set of tools and services for developing information
systems. It is more of a specification manual than a language, program, or application. The J2EE
specification is composed of a server platform, policies, protocols and several Applications
Programming Interfaces (APIs). Each component of the J2EE architecture provides benefits that
extend beyond the components primary function or any single application that is using that
component. Similar to a network, the value of the J2EE architecture to a utility increases at a
faster rate with more J2EE applications.

J2EE was developed to help businesses reduce their costs and improve response time to
customers and staff, their partners and suppliers. Any system intended to achieve these goals
needs to be:

•       Highly available, to meet the needs of all parties.
•       Secure, to protect the privacy of customers and partners and the integrity of corporate
•       Reliable and scalable, to insure data is processed accurately and promptly.
•       Standardized, to enable interoperability and protection from single vendor support.
•       Maintainable and extensible, to insure as your business needs change your investment is

Java Technology

J2EE is begins with the Java programming language. Java is a proven language technology that
has grown exponentially since its introduction. Java virtual machines (JVMs) run the compiled
Java code and exist for numerous platforms. Java applications are often referred to as “Write
Once, Run Anywhere”. This phrase describes something that is unique to the Java programming
language; Java is an Operating System and is hardware independent. In other words, Java

Darren Pye
Harris Computer Systems
                                                             Next Generation CIS – Benefits of J2EE

applications do not limit you to a particular vendor’s line of hardware or a particular vendor’s
operating system.

Therefore, IT managers can decide what hardware platform best suits their needs in terms of
performance, scalability and budget. Organizations wishing to leverage existing hardware and
expertise may do so without sacrificing any of the benefits. Furthermore, if the hardware
environment changes (migration from UNIX to Intel based servers, for example) the Java
applications are completely insulated. The transactional intensity of CIS have typically called for a
UNIX based hardware to ensure bill calculation and bill print services are performed promptly and
reliability. However, the recent performance and reliability improvements of Intel servers with
Linux or Microsoft operating systems make these platforms an attractive alternative for the price.
Java applications can leverage the existing UNIX investment without restraining a migration to an
Intel/Linux or Intel/Microsoft in the future.

J2EE Application Model
In order to meet the established requirements, J2EE was designed to include several interactive
but independent tiers. Client software on the front end to manage data input and output. Data
storage– almost exclusively relational database management systems – make up the back end.
Finally, one or more tiers in between to handle processing of business rules, integration with other
systems, and tools to manage the data flow between tiers.

J2EE vs. Client-Server
                                   Two-Tier             vs        Multi-Tier

                                   Client-Tier                     Client-Tier

                                   Client Application             Client Application



                                                                 Application Server



                        Figure 1. Two-Tier vs. Multi-Tier Application Models

A system such as J2EE is generally referred to as having a Multi-Tier architecture. By
comparison, many legacy CIS were built with a two-tier design – often referred to as Client-Server
consisting of only clients and data storage. This design proved to be flawed as information needs
changed. Either the clients contained all the business logic, and therefore required significant IT
resources to maintain, or the business logic was bundled with the database on the server.
Upgrades were feared events that often meant lost time for employees. Integration with other

Darren Pye
Harris Computer Systems
                                                            Next Generation CIS – Benefits of J2EE

systems could not be done in any direct fashion and usually resulted in large batch processes to
import or export data to and from the system.

As the internet emerged, two-tier systems really only left one option for allowing customers,
partners and suppliers access to data; allow them to connect to the corporate database through a
web server system. This approach has the immediate draw back of having to rewrite all the
required business rules into the web server application. It is further hampered by the lack of
availability, scalability, reliability, and by higher complexity. All these factors lead to increase costs
to maintain, barriers to extend beyond simple interfaces, and an overall concerns about security.
Multi-tier systems exceed the capabilities of two-tier systems by distinctly separating data and
business rules from their presentation to users. The middle-tier is the point at which all the
previously stated problems can be solved.

This is not to say that all two-tier architectures are unsuccessful; some systems sufficiently
support the business needs of the organizations that use them. Harris has several examples of
effectively leveraging web based applications to extend the functionality of our legacy CIS
solutions. However, the better approach is to have web based applications leverage the same
business rules as the primary application. This is the value of J2EE and the approach Harris has
embraced with NorthStar.

The Client Tier

J2EE supports several types of application clients. The most common clients used in J2EE
applications are web browser clients and Java Swing Graphical User Interface (GUI) clients. In
our new product, North Star, Harris has selected a Java Swing GUI. Feature rich GUI clients are
better suited for business applications because they can simplify complex user interactions and
data-entry, permit interactive input validation, and provide advanced lookup capabilities and
custom navigation. Full GUI clients are required for any CIS power user. The efficiencies of
running with multiple windows, navigating directly to specific forms, and drilling through fields to
dependent forms dictate a rich client for billing and customer service administrators.

The chief benefits of a browser client are that it can be made easily available over the local LAN
and the Internet and that it is extremely easy to learn. Web browser clients are the best
technology for reaching customers and suppliers outside the office, for simple data entry
applications, or for any read only application. Browser user interfaces have been successfully
implemented at many utility call centers seeking a low cost, easy to train interface in an area that
can have high turnover of large temporary staff forces.

Swing (full GUI) and browser clients are just two examples of technology commonly used in J2EE
applications. However, J2EE clients may actually be other programs. Requesting or presenting
data in XML, SOAP or even .NET standards generates a simple but robust application interface
that leverages all of the existing business logic of the primary CIS. This allows other applications,
such as Interactive Voice Response (IVR) systems, to become interactive clients and leverage the
same business logic. In the IVR example, a credit card payment over the phone would utilize the
same business process as the same payment made over the internet (through a customer portal)
or made directly at the utility.

The Middle Tier
The heart of any J2EE application is the business logic that resides within the middle tier. In the
J2EE architecture, the business logic runs within a software application called a Java Application
Server. The application server is separate from clients and the database. Clients are responsible
only for taking and presenting information to the user. All clients are considered "thin" clients

Darren Pye
Harris Computer Systems
                                                                        Next Generation CIS – Benefits of J2EE

because they do not perform any direct access to the database nor do they implement business
rules. Developers such as Harris create Enterprise Java Bean (EJB) components. Each EJB is
designed to fulfill a particular business function, such as lookup accounts, calculate bills or update
a customer’s information. Collectively, the EJBs are the business logic of the application. Once
developed and deployed to the application server, clients with the proper security permissions can
access the functionality.

                                                                                 HTML Client
                                  GUI Client
                                                                             (Facilitated by
                                                                              Web Server)

                                                             Customer    Meter
                                               Calc. Bills
                                                             Accounts    Data

                                                        J2EE App. Server


                   FIGURE 2         EJB Components Implement Business Logic

J2EE defines various services APIs that are available for developers creating EJBs. Application
server vendors must provide all the standard services defined within the J2EE specification in
order to be certified as compliant. Database access, directory service, messaging service, E-mail
and CORBA (Common Object Request Broker Architecture) are all included in the specification.
Having integrated access to standardized J2EE services allows developers to focus on their
systems requirements, rather then its overall infrastructure. All clients accessing the application
server benefit from its performance, security and scalability.

Benefits of J2EE
One of the most tangible benefits of an J2EE, in terms of maintenance, is this; changes to
business logic or the underlying data structure can be implemented at the application server
without updating the client. Conversely if clients have bugs or enhancements it will only be within
their presentation to the user. Maintenance of both becomes easier because each has a specific
role. This is best explained through an example.

Suppose a bug had been detected in a bill calculation process. The clients are collecting the data
correctly, but the values stored in the database are incorrect due to a flaw in the formula used. In
a J2EE system, a fix could be made and deployed to the application server without ever having to
visit any of the client software. J2EE servers even allow deployment of updates to them while
clients are connected and active. In many cases it is feasible to deploy fixes/enhancements to the
Darren Pye
Harris Computer Systems
                                                          Next Generation CIS – Benefits of J2EE

application server without interrupting clients. A similar flaw in business logic with a two-tier
architecture may cause severe downtime. Fixes to one or more applications and patches to the
installed client base can be troublesome and time consuming. Within small organizations,
updates such as these can be difficult for a small IT group to manage. For large enterprises, with
large numbers of installed clients, these updates can be very difficult, time-consuming and costly.

The second major benefit is realized through J2EE standards. When developing J2EE software
within the middle-tier, developers such as Harris focus only on fulfilling the business rules.
Application server software is provided by leading vendors – IBM, BEA, and Oracle to name a few
– that focus on security, scalability, reliability, and methods of communications with the client. The
J2EE standards ensure a common meeting point. J2EE creates a common denominator that
enables even the smallest utilities to leverage the benefits of enterprise IT best practices without
massive investment. Furthermore, it allows Harris to optimize transaction processes since they
will be used by everyone, regardless of the hardware or operating system configuration.

Lastly, J2EE provides choice without compromising CIS functionality. Application server
technology is supplied by a range of vendors with operability on the full spectrum of hardware and
operating systems. Large utilities can select configurations that cluster multiple servers, dedicating
some to data intensive functions and others to calculation intensive functions. Small utilities can
keep infrastructure investments manageable through running the CIS on a single server. All
utilities benefit from the same CIS application.

NorthStar allows a utility to achieve the data sharing and interoperability between its customers, its
suppliers, and its owners. Designed using the J2EE architecture, it provides proven technology
with flexibility for the future. Finally, NorthStar respects choice without compromising on CIS
functions, features, or performance.

Darren Pye
Harris Computer Systems

To top