|
Lotus Domino as a Web Application |
 |
| In today's
marketplace, there are many options for
developing web applications. There is another
choice that has been around for quite some
time and has many powerful features to offer
that the others can't completely rival -
Lotus Domino. There are six features any
company considering development of a web
application (Internet or Intranet) should
know about Domino: |
 |
|
 |
Built-in security |
 |
 |
Support for multiple development
languages/Internet standards |
 |
 |
Unstructured or relational data
storage |
 |
 |
Domino Offline Servers (DOLS) |
 |
 |
Combination client-server/web applications
|
 |
 |
Scalability |
 |
|
 |
| |
Let's
explore each of these features in more detail.
|
  |
| Built-In
Security |
 |
Because the
Domino web server is only one part of the
larger Notes/Domino family, developers automatically
inherit the robust security model native
to Domino. Developers don't have to concern
themselves with building database tables
and infrastructure to support secure access
to their applications. They simply leverage
the Domino security model, which offers
both name-and-password authentication and
the more secure SSL (Secure Sockets Layer). |
 |
| The
Domino security model allows for the easy
creation of users and groups that are then
assigned access privileges to the various
parts of the application. Access is further
refined through the use of developer-defined
"roles" as well as readers and
authors fields, which control visibility
and access to data in the database. Over
time, the Domino HTTP and mail server have
also proven to be very secure against unwanted
attacks, such as viruses. Of course, with
any platform, it is possible, but Domino
has proven to be less susceptible to these
types of attacks. Support for multiple development
languages/Internet standards |
 |
Much of the
hype regarding the release of the Microsoft
.NET platform has been its support of multiple
programming languages - ASP, Visual Basic
and C# in particular. |
  |
This
concept is nothing new to Domino. Since
as early as release 4.5 (mid 1990's), Domino
has supported HTML, JavaScript, and Java,
as well as its own formula language and
LotusScript (a close cousin to Visual Basic).
With the current version R5, this support
has been expanded even more to better support
existing technologies and extend into other
areas, such as XML. The Domino web developer
has the choice of using any or all of the
available options in a single web application,
a powerful feature when just one may not
fit the bill. |
 |
Through
LotusScript and Java, the world is also
opened up to other API's, such as COM ad
OLE through LotusScript, or access to custom
Java classes and servlets. For the non-Domino
developer, Lotus also makes the entire Domino
object model available through COM and Java.
Offering such a wide range of choices also
makes finding developers with the right
skill set easy. Whether a developer comes
from a Microsoft background (ASP and VisualBasic)
or a Sun background (JavaScript and Java),
he'll feel at home in Domino. |
 |
Even
beginning and junior programmers can create
effective Domino applications sticking with
simple HTML and the Lotus formula language.
While Domino has its own HTTP engine, Java
Virtual Machine and servlet engine, it can
also be configured to work with other engines,
such as Apache or IIS for HTTP, and WebSphere
or Tomcat for Java. |
  |
| Unstructured
or relational data storage |
 |
In
addition to being a web server, application
server and mail server, Domino is also its
own database server. The Domino database
model is "document-centric" in
contrast to the relational model used by
Oracle, Microsoft SQL or IBM DB2. This unstructured
document-centric data model offers some
incredible flexibility in how data is stored.
For example, not all documents (records)
of a given type need to have the same fields.
This allows the database to only store what
it needs for any given circumstances. The
unstructured database also allows for easy
storage of rich text content, attachments,
and embedded objects. |
 |
An
unstructured database is not best suited
for every situation. For these occasions,
Domino offers the option of attaching to
virtually any relational database in a number
of ways. For real-time access to relation
data, Domino offers the built-in DECS (Domino
Enterprise Connection Services) or the more
advanced add-on LEI (Lotus Enterprise Integration)
server. Both offer real time synchronization
of Domino with the back-end data source,
but LEI also offers additional features
for batch processing. If real-time access
to the relational data is not required,
Domino offers their LotusScript ODBC or
LotusConnectors classes, as well as access
through the Domino formula language. |
  |
| Domino
Offline Services (DOLS) |
 |
Domino
has long been known for its replication
capabilities, the ability to maintain synchronized
copies of a database on multiple computers
- either servers or client workstations.
Up until recently, though, for a client
to replicate a database from the server
to the local workstation and work disconnected,
the user had to have the Notes Client software
installed. With the introduction of DOLS,
though, it is now possible for users with
only a web browser to replicate data to
their local computer and work with data
in a disconnected mode through the web browser.
Upon reconnecting to the Domino server,
the user can go back "online"
and synchronize the local replica with the
server replica. |
 |
This
creates great possibilities for web applications
that need to work in a disconnected mode,
such as is the case with field technicians
using laptop computers. And like so many
other Domino features, this is done with
little to no additional programming. Combination
client-server/web applications Long before
the Internet and the Domino web server,
Notes had been a robust client-server platform
for applications. The introduction of the
Domino web server in the mid 90's extended
all of the existing capabilities to this
new notion of the web. Domino/Notes continues
to be a very robust client-server platform.
This gives developers the unique option
of deploying applications that are a combination
of client access and web browser access,
or even PDA access. Especially in cases
where a business already has an existing
Notes application, it is relatively easy
to extend this application to have a web
front-end as well. |
 |
This
provides the best of both worlds, while
encouraging code re-use. In some cases,
the same code may be used for both interfaces.
Scalability One of the reasons Domino makes
an excellent choice for building web applications
is its scalability. Domino has a long history
of being supported on many operating systems.
In the current version, these include Windows
NT, Windows 2000, Linux, Unix (HP, AIX)
and OS400. For companies running multiple
Domino servers, the servers don't have to
be on the same platform; it is common to
see a mixed environment. Since IBM purchased
Lotus, IBM has positioned Domino as the
lower-volume web server choice and WebSphere
as the higher-volume choice. However, a
Domino server running on a high-end Unix,
Linux or OS400 server is quite capable of
handling an immense volume of traffic. The
additional ability to cluster servers together,
even across different operating systems,
allows Domino to scale even further. |
| |
| |
| Whether
you need a cool Cold Fusion dynamic web site,
an ASP auction portal, a PHP shopping cart
or a Lotus Notes-Domino application or your
MS SQL database needs optimization we have
the necessary skills. Call us ! |
| |
| |