The client currently has several lines of software
products including an Operating System. They
have been shipping products that range from
a full fledged server operating system to business
applications such as CRM and Accounts. Below
is the quick summary of products and offerings
from Client:
-
Linux Server, which includes productivity
and collaboration tools out of the box.
-
Linux Desktop which include productivity
tools like office suites, multimedia tools,
again out of the box.
-
CRM, a contact relationship management
application.
-
Accounts, a business accounting application.
Business situation
The major goals of the client as an IT organization
are to deliver subscription free applications
to its customers and secondly, to remove any
kind of platform boundaries, so that the customers
may choose their choice of platform to work
on.
As a result their requirement is of a comprehensive
CRM application that can run on any Operating
System, especially targeting an OS that is
free from licensing hassles.. These situations
may be summed up follows:
-
-
Solution should work on all major platforms
out of the box including Windows, Linux
& Solaris.
Technical situation
The CRM application requested by the client
posed some really interesting challenges for
our software designers. The major challenge
was how to design an application that could
run in any operating platform. The first thought
was to create a web based application but that
cannot be shipped and managed as easily as a
desktop application. A CRM application requires
extensive functionality from the native computer
environment such as use of ports, printers,
internet access etc. Write an application that
should run in Windows, Linux, Mac and still
be able to perform all required functions flawlessly
was quite a challenge. Other major challenges
were as follows:
-
The technical aspects such as file system,
shortcut keys, user interface looks etc.
are quite varied across different operating
systems.
-
User Interface should not vary much across
different platforms in order to create
a brand value.
-
Cross Platform desktop application means
a cross platform database which again
was a big challenge for us.
-
File operations should work across different
platforms.
-
One of the
key requirements of a CRM applications
is integration with the productivity applications
such as Office suites, E-Mail clients
etc. This was again a big challenge as
each OS carries it’s own set of
productivity tools.
These are just a few of the
key major technical issues which
our design teams had to tackle with great efficiency
and in a cost effective manner.
Solution
Having a look at the technical challenges,
our designers proposed the following solution
to Client:
-
Development and runtime platform was
proposed to be Java in order to avoid
any kind of platform variances. Java in
itself is a full fledged operating platform
which provides application a sandbox above
native operating system, in order to allow
them to execute in a platform independent
manner.
-
User Interface was proposed to be built
in Java Swings using one of the available
Plastic Look and Feel, in order to overcome
any kind of user interface differences
across the platforms.
Database employed for this application
was selected as HSQLDB. Being a cross
platform database, it has an ability to
operate in both server as well as embedded
mode. Also being open source and free,
it was best choice to use at the back
end.
-
As far as productivity tools are concerned,
we proposed a solution of choice to be
OpenOffice.org. Again OpenOffice.org is
an open source project and has its own
Java wrappers in order to make it programmable.
It is also available for major operating
systems including Windows, Linux and Mac.
We proposed a tight integration with OpenOffice.org
suite in order to follow “Going beyond
the platform” objective.
-
As far as e-mail is concerned we could
have easily integrate the CRM application
with Outlook but that would result in
Windows based solution. Therefore we opted
out on creating our own E-Mail engine
in order to provide more value to the
system.
-
We also proposed on creating add ons
for the applications on later date in
case a customization is required where
integration with native productivity tools
is require
Benefits
The solutions proposed
by our designers and thinkers and the implementation
of these solutions by our developers completed
the project successfully. Following are the positives
of these development efforts:
-
Platform/Database Independent Solution
-
On time delivery of the solution.
-
Objectives were met successfully.
-
Future plans to start with Web Based and
PDA version of the CRM application.
Third Party Tools and Software
We used the following
software and tools to develop the software in
order to meet all the requirements of the project:
-
Development IDE: Net beans
-
Development platform: Java
-
Database Layer: Hibernate
-
-
GUI: Swings component
suites
-
Other utilities and libraries:
-
OpenOffice.org developer API
were used to create Client OpenOffice.org
bridge.
-
Calendar API were
used to create the Calendar module of
the application.
-
Mail API were used
to create E-Mail module
-
Jasper Reports was
used to create reporting engine of the
application.
|