Re: New Era, VB, Delphi, PB
Posted in 1996
Topics: Stored Procedures & SPL, Java & JDBC Development
In article <56pk64$jbj@cssun.mathcs.emory.edu>, Billy Wheeler <billy@west.co.za> wrote: >Oliver Townshend wrote: > >> > But what about application partitioning? This is not something that >> > is just an academic issue - we find real uses for partitioning in >> > almost every system we develop. [snip] >experience. I don't want to start a religious war here, Delphi users.... :-) [snip] >> Application partitioning can be done with Delphi 2.0 on an NT box. See >> Web-Hub for an example of this. > >Ahah - but this model is not as flexible as the Informix-NewEra model for >partitioning. Yes, I'm sure that even VB does or will support that approach >(NewEra supports it too), but the major issue (IMHO) that made partitioning >desirable was the need to avoid sending huge amounts of data across the >network. What is nice with NewEra is that you can have the parts that really >would choke up the network sitting on the data server and not consuming any >bandwidth at all. [snip] >Billy Ok, I tried to hold back, and avoid entering the battle, but I must point something out here. NewEra allows some code to be run on the data-server, but that isn't really what application partitioning is about either. People have been running code on the server since stored procedures where invented. New Era is only now doing what Oracle's Developer 2000 already allows you to do, which is share code between the DATABASE server and the Client. There are tools that REALLY support partitioning, where your code can live on the client, on the server, or on any machine in between! Look at Forte, Dynasty, or Prolifics (JAM 3-tier). They will allow you to share code and objects across multiple-tiers. JAM Web 2.0 and Prolifics will even allow you to share code and objects across the tiers and the Web, where it can generate JAVA-script and HTML based on properties the objects have. But, to show the advantages of partitioning, consider the following: Suppose you had some code that updates two databases, and then sends a message to the client saying everything was successful. With a three-tier approach, you can have your front-end code make a call to the service, and not worry about where the service lives. You might simply assume everything worked fine (more on this latter). The messaging system then looks for the service. It can route the message to one of several machines running the service, or invoke a new copy of the service if all the machines are busy. The service can then call the first database (maybe by invoking a stored procedure), call the second while waiting for the first, then commit the transaction, or roll it back, or wait a certain amount of time and retry on one side, or both, etc. Or it can notify the client that something went wrong (pop open a message on their screen), while they are doing something else, or send a message to another client, or another service, or route to a different database. If the network is a hangup, certain services can live on the client, or database server, or both. You can even avoid hitting the database in a lot of cases, since the services can store the data, and you can send a message to them when the database has new data. If a service is down, the calls to the service can be queued up, or a message can be sent back to the requesting client, or both. That is flexible. Not all code belongs on the client, or server. If you look at my example, an extra layer is added, and the full process itself might take longer to run, but from the point of view of the client the code seemed faster, because it did not have to wait for a result. It went on with more processing. Neither the client nor the database were clobbered. If we have more users, we can add more services, or databases, or service machines, without slowing down the application. My point here is not that New Era isn't OO, or bad, but that real advantages come from using true partitioning. It is another tool, like OO, that we can use to make our work easier and better. So, I for one suggest that you add Prolifics, Dynasty, Forte, and Uniface to your choices. Unless you are looking for Windows only, non-partitioning tools.;-> good luck, Mark McNulty mmcnul@jyacc.com Note- these views are mine and not those of JPMorgan or JYACC.