Originally posted by JiaPei Jen:
2. The problem is the Defense Department database. It is a flat file database and this database cannot be touched. It is a black box for Java developers. The Defense Department may provide a jar as an outer layer of this database.
>>>> If they provide a jar file, that would be
great. You do not need to care about whether
the data is a flat file or something else, you
just use this propriatory API the jar file
defines.
>>> You might use another abstraction layer of DAO
object and gets data from DAO objects.
Question 1: Is the web tier essential for this defense project?
>>> If it is not a requirement, why would it be?
Question 2: What is the proper J2EE architecture for this project?
>>> You can still use
EJB for the transaction
management part, security, etc. However,
it seems to be that you app is a read-only
application, so EJB is kind of overkill.
If performance is a issue even if you only
use stateless session beans, then you can
use RMI directly, in case you do not need
transaction.
Question 3: How to deal with the data problem? Especially it looks that entity beans are not applicable.
>>> Entity beans are being perceived not
very necessary now because of performance issue
(some would disagree). You can use session bean
to call DAO object which in turn calls
the jar file API you get from you client.
You swing calls session bean as EJB client.
Question 4: How does the system handle very heavy load? It is possible that tens of thousands of people will use the system at the same time.
>> for heavy load, you resort to clustering
that application server shall support.
Here, EJB frees you from concurrent control again.
For security issue, if you are behind firewall,
then you might use SOAP (which is slow),
or RMI tunnelling. You have to encrypt data too.
[ June 28, 2003: Message edited by: JiaPei Jen ][/QB]