(1) It appears you use mySQL, but not as an integrated component of a jboss server build. I'm curious as to why as it would seem easier to manage as a module of jboss then an independent entity.
(2) You also refer to jdk1.4 in your documentation. As jboss is currently only stable with jdk1.3 why iwould you mandate that particular version?
(3) I plan on spending time with the source code, but am curious as to how module it is as an API. While CRM has some common threads and can see the need to support an modular framework that allows for a high degree of customization. Thoughts?
(4) I didn't notice any search fields in critical areas, such as the contact list. Is it integrated in another way?
here are some answers to your inquiry...
1) I use JBoss for the server only and not on the client (sales person's laptop, etc). Therefore, I chose to code the SQL access as standard JDBC so I could use the JDBC code on both the client (2-tier connection to MYSQL) and on the server (called by the session beans). SellWin has the ability to let people run in 'disconnected' mode on a laptop, writing to a local MYSQL (or other) database, then connect to the SellWin server to 'sync' the databases. Also, there is a bit of legacy in this as well, originally I was not going to use JBoss or any other EJB container.
2) There is a dependency upon using JDK1.4 actually, I need to get rid of this so that people can run with earlier JDK versions, its on my list of to-do's. I make use of a JDK1.4 exception handling mechanism, a trap I fell into and did not realize till I tried to go back to 1.3.
3) My design goal was to provide the most robust 'common' set of functions for a CRM Sales app. I figured that to support all types of industry specifics would be impossible for a development team of 1 (myself) and probably not the way to go since the code would become HUGE and have many unused features included by default. Therefore, I have sought to add 'generic' features as they are suggested. If someone needs an aerospace version of SellWin, then they would have a solid base of functionality to begin a new branch on their own, or with my help (shameless plug for my services!!!).
Another approach to this would be having very 'dynamic' functionality for screen layout and database entities (similar to Oracle Manufacturing's flex-field approach). I chose to not go this way due to the code bloat and level of complexity.
In terms of the code quality and modularity, I tried to make the code division as simple as possible (domain, database, server, gui). Of course, there are sections that I would like to rewrite and make cleaner, another thing on my list.
4) there is currently no search capability on any screen or field. I'm trying to figure out the best way for this to work. Any ideas on GUI designs for this? I've seen how Seibel does this which might be a good place to start the design with.
hope this answers your questions and thanks for the input, it helps determine what features go in to the next release.
Issue (1) might become more of an issue if sellwin is adopted by enterprises already heavily involved with EJB's, might run into conflicting architectures. Worth a bit of thought. This also ties right into issue (2), as I know Jboss has stability problems with 1.4 at present.
I've been thinking about (4) and as I have no idea what Seibel does it may or may not be redundant. To me a search should be capable on any given field in the contact list, more on this in a bit. Implementation in it's simplest form could be event driven, when activated the search pulls results based on whats entered (partial and or whole), simular to how Oxford Dictionary works. Seems simple and has legacy in other applications. Would probably need to use a ALT key to control when a field searches and when it takes plain input.
Eventually, I can see integrating a document system that allows for the generation of proposals, letters of follow-up, introduction, etc.. so you can manage how effectively you are staying in tough with your client base. Could lead to allot of interesting feature sets like auto emailers, etc.
Be spending some time with sellwin over the weekend, the joys of nibbling your way into somebody elses code.
Log in to post a comment.