Disclaimer - The following is my version of a Intro to Oracle and Computer Science lecture. If you are clear on the distinctions between Two-Tier Client/Server and Three-Tier Architectures and where Oracle's product line fits in, skip this message
Re: Client/Server
It all depends on your definition of client/server computing. This term has generally been understood to mean a two-tier architecture. That is, the application software executes on the client (generally a desktop PC), calculations and processing of business rules is performed on the client (although database stored procedures have been moving away from this for years), and the data is stored on a server. This was an improvement from mainframe based computing and distributed the computing load to (relatively) inexpensive and (relatively) fast client machines. Several problems arose from this shift, the most significant, IMHO, were the need to move lots of data down to the client for processing, overwhelming network capacity, and the vast amount of resources needed to maintain a network of complex client machines.
Oracle's vision of internet computing is a three-tier architecture. The data still resides on a database server. All of the processing that was done by the desktop client is now done on an applications server (the middle tier) which services many users. The end users have thin clients which are only concerned with rendering the user interface. This could still be viewed as a client/server architecture, with the processing and UI elements of the client split into two tiers.
Yes, Oracle software still connects to clients and servers. It also still runs on a mainframe with directly connected users, or processing batch jobs, or on a Unix box with users connected via dumb terminals. There is no requirement for a network to run an Oracle database.
Re: Oracle Applications
The current (and according to Oracle, all subsequent) releases of Oracle's Applications software (Oracle Financials, etc.) does not run in a two-tier client server environment. The back end database can still be anywhere the Oracle Server software runs. The font end interface must be accessed using client software that supports a Java 1.1.2 (I think I've got the version right) Virtual Machine. This can be Netscape Navigator, MS Internet Explorer or a Java Appletviewer (which Oracle supplies for Windows platforms, Apple has one for the Mac, I don't know for sure about Unix; I believe that Sun requires an appletviewer as part of any Java implementation).
The applications themselves are not written in Java. Oracle replaced the platform specific runtime engine with a third tier thin-client one that renders the UI using Java and a middle tier runtime engine, that executes on the application server and is still written in C.
Re: Oracle Developer
The latest version of the applications development tools in Oracle Developer run on Windows based machines only. They are written in C. These tools allow the developer to build applications (Forms, Reports, Graphics) to view and manipulate data in the database. The tools themselves do not generate executable code. They generate "executables" that can only be run using the appropriate runtime component of the Oracle Developer toolset. These "executables" can be run two-tier client/server or three-tier depending on which runtime engine you are using.
Re: Security
Exactly which security concerns are you talking about? Right now, these tools are used almost exclusively internally within an organization. I will assume that the internal network is relatively secure and that proper procedures exist for releasing applications to the user community. If your concern is public access via the internet (or perhaps someone building a malicious Oracle Forms application) there are two issues to address. First, the Java executing on the third tier is only rendering the UI. It does not process data, that happens on the application server. It is possible to add Java code to the Oracle supplied Java class files, and that code could potentially cause security problems. This is really no different from getting a virus from anything else you download from the internet. Second, although I have not yet worked with the latest version of the Oracle Application Server (4.0), I believe that it supports, and supports in the Developer runtime engines, all of the security mechanisms (certificates, etc.) that are currently available.
Re: Oracle Designer
Designer is a CASE tool not a programming language/development environment like Visual C++. You define your logical and physical database design, business rules, user interface standards, etc. in Designer. Then you can develop applications to access the database based on this repository. Designer will generate an Oracle Developer application or HTML code. If you want to use Designer to develop two-tier client/server apps, go right ahead. The same generated application, however, will run three-tier if you use the appropriate runtime engine to execute it.
Re: Java
Oracle is not writing its software in Java, nor is Java a requirement for using Oracle software. I would expect the Oracle Server source code to continue to use C, C++, assembler, whatever tools are available to get the job done as efficiently as possible. The Oracle Server kernel has always been platform specific and optimized for that platform. Java is the de-facto standard for the thin-client third tier. In Oracle's case, the Java code is only rendering the UI and it is fast enough today and getting faster. I have seen several applications that attempt to use Java exclusively (accessing the database using JDBC) and I agree that they are just too slow. If you want to generate applications written exclusively in Java, Oracle also has a tool called JDeveloper (yes, from Borland) to do that.
Re: NCA
Oracle never changed the message. Everyone else missed what Larry was saying. He has always said that the client side of client server was too expensive, too complicated and too expensive to maintain. The $500 NC appliance was put forth as an alternative. There is not that much difference between that device and a $700 PC with a browser installed, that is, if you don't install any other hardware and/or software. The iMac is also much closer to a NC that a Mac/PC of 3 years ago. You plug it into the wall, into the network, and go. It could easily be viewed as an appliance. Oracle, and its Network Computer, Inc. subsidiary have always been talking about the platform. It's the paradigm, network computing, three-tier architecture, not the hardware. The change in terminology from "network computing" to "internet computing" made a distinction between the misinterpretation of the message and the message itself. Larry's message has not changed. He had to get away from a term that was being consistently misunderstood.
I hope I've adequately addressed the issues raised in your post. I've built a pretty good business betting that Larry and Oracle are on the right track. I think I understand the technical side of this pretty well (if not, I sure have my clients fooled). I can't say for sure that Larry isn't building a Betamax in his garage, but I'm betting he's right this time too.
Have a good weekend.
-Michael |