|
You ask a very important question here, Mark. My opinion is that your design should fit your needs, and you should use the right tool for the right job. Pretty thin platitude, eh? <grin> Seriously, though, I have two design philosophies that I insist on when I develop mission-critical distributed architectures: 1. All business logic must reside on the host 2. The user interface should be interchangeable The first rule ensures that changes in my business logic will not require that I rewrite the clients. Also, it safeguards against having two versions of my business logic running at the same time, a situation which has caused more database corruption than any other single problem in my career. The second rule allows me to use whatever interface is appropriate to the job. For C2B I can use a web interface. For B2B I can use XML. Accountants wanting to cut and paste with Excel, I can use a thick graphical client. And for the guys on the shop floor, I can still use a cheap, durable green screen terminal. Given these two philosophies, I firmly believe in a message-based client/server architecture, where my client makes requests to the AS/400 for data. A typical interaction might be: 1. Client requests list of items 2. Host returns list 3. Client displays list to user 4. User selects "edit" option on an item 5. Client request item detail for selected item 6. Client display data to user 7. User makes modifications, selects "update" 8. Client makes update request to host 9. Host returns either "OK" or errors Notice that the client could be anything - and indeed, so could the host! In fact, the host could be a server program written specifically to handle the request, or could be a "wrapper" around an existing program. Once you've done this, your client can be written in whatever you feel comfortable. For web interface, I believe servlets and JavaServer Pages are the most flexible and productive solution. For thick graphical clients, I lean towards Java because of its cross-platform capabilities, but that depends on the client hardware and your programming skills. VB might be just as good a solution depending on your inhouse skill set and the number and complexity of the interface panels you need to develop. If you decide to implement a full-blown thick client interface, you should look at Java, but should look at taking advantage of the OO nature of the language to develop your own UI classes. Java provides a set of very low-level UI primitives that you can then expand upon to build a powerful set of graphical widgets. You can also use third-party widgets, but remember that you are then locked into whatever your vendor thinks is the "correct" style of UI design. I realize that this post may raise more questions than it answers. I'm off for a little while with my family, but I'll be back later this afternoon. Feel free to ask any other questions that might occur to you, and feel free to look at my website, www.plutabrothers.com, to get a glimpse of what I'm doing these days. The website is pretty basic at this time and the demonstrations aren't online, but it may give you an idea of the architectures that Java makes possible. Joe > -----Original Message----- > From: MWalter@hanoverwire.com > > Joe, > > What do you consider serious Java development? If a requirement of a > project is a GUI, would you use java for this, or something like VARPG or > VB? Granted the examples with which I am working will never see > production. > They are merely learning projects. However, there may be a need for > something like this in the future. > > I am trying to climb out of the chasm that is traditional green screen > programming. I'm trying to at least introduce my self to more cutting edge > technologies. However, if these technologies will not be employed in my > current environment, then maybe I should focus my efforts elsewhere. > > My company and this industry in general does not yet have a large presence > on the Internet. Moreover, we are heavily committed to EDI, so > there is not > a big push for me to become fluent with XML. > > Maybe I need to step back and see the forest despite the trees. +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.