Client Server

advertisement
Wiki Roadmap 4.1
This document is written to represent the thoughts behind the wiki roadmap 4.1 and to reflect
on discussions in irc.
It is also a representation to an alternative Roadmap 4.1
The ultimate goal is to present everthing in an understandable overview to give everyone
involved a clear mind over what's to come and to open up discussion.
The inherited architecture of Compiere.
Client
AD GUI Engine
Internet Browser
PO - model Package
dbPort Package
Swing GUI
WWW
Server
JBoss
Webstore
model Package
Web
Compiere ServerBean
dbPort Package
Database (Oracle, Postgresql)
The inherited architecture of Compiere
Comments
There's something to say about that ...
About the web application (WWW)
* Both Java Servlets and JSP are used (why using 2 solutions in the same project ?)
About the GUI (AD)
* Web package is used to check if the AppsServer is online
* GUI uses server objects to manipulate the database
* GUI talks via AD data models directly to the database
This is clearly not such transparent architecture and the question is why there are 3 routes
used to talk to the server and 2 ways to talk to the database.
Wiki Roadmap 4.1
Client
Pentaho reports
AJAX GUI
JSR (Script API)
GUI
Reports
Server
SOAP (XML messages service)
JPA (Persistence Model)
Hibernate or Toplink
OQL (Object query language)
Database (Any DB tool)
Wiki Roadmap 4.1
Comments
There's something to say about that as well ...
* AJAX: can this technologie be implemented AND let AD survive “as is” ?
I don't think we want to throw away AD, after all AD IS the project.
What we want is to improve AD.
* Pentaho reports: ?
* JSR Script API: the big advantage is that it can talk to other script languages then just Java.
Great. But why should we need that for ?
It will slow down Adempiere already under review for sqeezing better performance out of it.
* SOAP (XML messages): that would replace the current server running ADempiere server ?
Why replacing the technology we have with this one. SAOP is slower then what we have.
* JPA (Hibernate or Toplink): would replace the current PO classes in Adempiere.
I'm not opposed to new technology or a new standard.
If someone can deliver proof that one of these gives better performance and is as easy to
undersand and use as the current PO, I can see no problem in that.
* OQL: advantage is that it talk to any database tool.
Great, but we don't use just any database tool.
The disadvantage of OQL is that this fact is slowing dramaticly because
- it has to translate to the specific database
- it takes no advantage of special features a database tool has
We better serve a few databases with good performance then all database with poor
performance.
And, last point .......
I assume Compierians/ADempierians know their database and Java technology.
We can not assume they know the new technology that would be used.
Let me blank out what most of us don't know and will have to learn ... (click)
Client
Pentaho reports
AJAX GUI
JSR (Script API)
GUI
Reports
You got the point .....
Server
SOAP (XML messages service)
JPA (Persistence Model)
Hibernate or Toplink
OQL (Object query language)
Database (Any DB tool)
New proposal (still under revision, it's very early release ...) click ...
Client
AD GUI Engine
Internet Browser
PO - model
POPackage
- model Package
dbPort Package
Swing GUI
WWW
Server
JBoss
Webstore
model Package
JBoss
Web
Compiere ServerBean
dbPort Package
Compiere ServerBean
dbPort Package
Database (Oracle, Postgresql)
New proposal
Comments
* unify the way the application is talking to the database, only one way instead of 3
* get rid of the web package, this isn't doing much usefull ...
And most important:
don't change technology just for the sake of the technology.
We already have great technology, and we understand it (or should),
we all joined this community for a reason ...
It's not the technology
It's what you do with it
Download