By: Christine Ellis
Abstract: MIDAS 3 Live Chat Transcript from Jan. 20th, 2000
This is a question asked by a chat participant
This is an answer or message posted by a speaker
This is another question asked by a chat participant
This is another answer or message posted by a speaker
This is an editorial comment
Please note: Some of the text for this chat has been edited for clarity.
Welcome to today's moderated chat on MIDAS 3!
Your moderator for today's event is:
John Kaster - Developer Relations.
The speaker(s) present at today's chat are:
Forward-looking statements in this chat, including but not limited to, those concerning Inprise's future financial performance, product availability dates, results of the Company's strategic review, and the potential features of or benefits to be derived from the Company's products, involve a number of uncertainties and risks, and actual events or results may differ materially. Factors that could cause actual events or results to differ materially include, among others, the following: possible disruptive effects of organizational or personnel changes by the Company, shifts in customer demand, market acceptance of the Company's new or enhanced products, delays in scheduled product availability dates, actions or announcements by competitors, software errors, general business conditions and market growth rates in the client/server and Internet software markets, and other factors described in the Company's S.E.C. reports on Forms 10-K and 10-Q.
This auditorium is currently quiet. General chat has been disabled to keep the noise down. You will not be able to see other users also logged into this auditorium. To ask a question, use /ask and type in your question. Please indicate to which product, Delphi or C++Builder, your question is in reference.
What is the status of TCachedDataset? Will it be made available for Pro users for D5?
We're still investigating the best way to release it.
When will poAutoRefresh be implemented?
I can't give you a specific time frame, but we are committed to adding this functionality.
Will MIDAS have a place in Kylix?
The data access in Kylix will be based on MIDAS. It will be a core feature in Kylix, as it is in Delphi 5.
Have you given any thought to writing an OLE-DB Provider for MIDAS? If so, do you have any information you can share? This would help by allowing VBers to use MIDAS app servers, and increasing the overall visibility of MIDAS to non-Borland tools.
Yes, we are investigating this. However, no specific details are available at this time.
Is MIDAS the same for Delphi and C++Builder? Are there differences between versions for D5 and CB4?
C++Builder is released after Delphi, so C++Builder 5 will have the same MIDAS functionality as Delphi 5 had.
What components require the use of a MIDAS license?
Movement across machine boundaries determines license requirements. See the article at http://www.borland.com/midas/papers/licensing/.
Is your intention to continue to support MIDAS with future release/enhancements?
Yes. MIDAS is a core part of our data connectivity strategy, and work is always ongoing. Lots of new things are being worked on.
Are you working to achieve a greater overall stability of MIDAS?
Absolutely. The MIDAS functionality which ships in Delphi 5 fixed a number of stability problems from the previous release. In addition, there have been additional fixes made which will be made available shortly. If there are areas where you are having stability problems, I encourage you to submit bug reports on our Web site.
Can anyone explain to me what MIDAS is all about?
It is about RAD development of multi-tier data access components. A MIDAS server is, in effect, a 'business object' that encapsulates update rules and other business rules. A MIDAS-client is a 'thin client' that allows a user to interact with the data, and is either in the form of a stand alone windows/java/(linux)-application, or as a ultra-thin browser-client. There is a wealth of information to be found at http://www.borland.com/midas/.
Are there plans to support Apache with MIDAS?
Yes. Using Kylix, you will be able to create Web applications that use MIDAS (For example, InternetExpress apps.)
How do things look for Windows 2000, and will the transition be a smooth one?
If you're talking about using Delphi and MIDAS on W2K, it's been pretty smooth for me personally. Some tweaks for DCOM may be needed. Still figuring some of it out.
What is the deployment pricing for MIDAS servers these days?
Initially, we were planning on releasing MIDAS 3 at $2500 for unlimited servers. The server will, at most, be $2500. It may end up being even less expensive -- we're still working on final pricing.
Will the pooling feature be available for other connection types besides TWebConnection?
We are investigating this for the next release.
Will a client app (say an ActiveForm running in a Windows browser) created with D5 and MIDAS be able to "talk" to a server-side MIDAS component created in Kylix and running on a Linux server?
Yes, but it may be necessary to modify the Delphi 5 application to use a data transport supported by Kylix.
Why doesn't TClientDataSet support TField.OldValue?
It works within certain events (OnReconcileError, OnUpdateRecord). However, it does not work when the cursor is just sitting on a modified row. Since this is a logical way to use it, we really should add that functionality.
After further investigation, it appears the limitation of using TField.OldValue to read a value from a modified row only existed in Delphi 3. In Delphi 4 and later, it works correctly.
What is TCachedDataSet?
Its a component based on MIDAS technology designed to replace TCachedUpdate for Pro customers. We currently recommend TClientDataset as a replacement for cached updates.
When will we get the MIDAS fixes for Delphi 5?
The MIDAS fixes will be released with the Delphi 5 update pack.
Delphi and Nested DataSets: Why is OnCalcField not supported in a nested dataset?
I wasn't aware that it's not working. If you would, please submit a bug report with specific information about when it fails.
In response to one of the questions earlier, you said MIDAS 3 for unlimited servers would be $2500. How does this relate for deployment of a commercial application to several customers?
The price MAY be less than $2500. It's not finalized yet. Other than that, licensing has not changed - for every server machine you need a license. The license is per server machine, not server, so you could have multiple servers on the same machine for a single fee.
Mark: TDataSetProfvider.OnBeforeUpdateRecord supports OldValue/NewValue, but not for Blobs. Why?
NewValue should work if the Blob was modified. But, since the Blob field cannot be used in the where clause of the update statement, the original value (as returned by OldValue) is not included in the Delta and therefore is not available.
Any extra information about writing InternetExpress components (beside looking into the source, as I've done)?
Currently, we only have examples. No formal documentation is available. In addition to the inetxcustom examples that ship with D5, there are some examples in CodeCentral. John Kaster plans to post an article to the community site within the next few weeks. If you have a specific component development question post it to the MIDAS newsgroup and I will try to answer.
Who is the proper person at Inprise/Borland to contact to discuss my MIDAS licensing issues (deployment within a commercial application)?
You should be talking to your Inprise sales representative.
How I can use more than 14 linked as one-to-many tables (queries) in TRemoteDataModule? It seems impossible now.
It is a limitation more and more people have complained about, and something we intend to fix.
Do you need to deploy any file on the server for an InternetExpress program NOT using a MIDAS dataset but a local provider?
If an InternetExpress application is getting data from a remote data module on another machine, then you will not need midas.dll on the Web server machine. You will need to deploy midas.dll on the Web server machine if the remote data module is on that machine or if the InternetExpress application embeds TDataSetProvider and data access components.
What is the status of MIDAS for Java? When will a version be released that is compatible between D5 and JB3? What about the MIDAS for Java Server we saw demonstrated at last year's conference?
It is currently on hold, as we are devoting all those resources to Kylix data access. Not sure exactly when we'll start development on it again, but it's very important. If it takes too long to get people back on it, we may Open Source the Java support for MIDAS and get it going again that way.
Does CommandText of CDS work with IBDataSet?
CommandText will only work with datasets that properly implement the IProviderSupport interface (introduced in Delphi 5). Its possible that this is not working with IBDataSet, if that's the case then please submit a bug report.
If MIDAS is going to be ported to Kylix, what are the chances of a Delphi designed Windows client being able to talk to a Linux designed server?
Delphi 5 clients and Kylix servers will be able to exchange data packets. Some modifications to the D5 applications will be necessary to use a data transport supported by Kylix.
How about a chat on CORBA sometime?
We'll get one scheduled.
If you have a remote data module with 2 ADO datasets, is there a way for the client to receive them as one dataset with one being nested in the other?
If they are linked as Master/Detail on the remote data module then they will be returned to the client as a single nested dataset.
There's also a big problem for nested datasets where fetch details on demand is true.
Please file a bug report.
Follow up to a previous question: I thought that using broker/datasetprovider/localdataset required no extra deployment (but a license )?
midas.dll is needed to manage the XML data packets and delta packets.
Keep up the great work, you guys are making me look like a genius (and that's not easy).
That's what the license fee is for (grin). Seriously, thanks, and we think you'll like what's coming up.
We need a VAR program for MIDAS. It should be licensed much cheaper. Currently MIDAS is too costly to deploy to our 200,000 customers. What are you doing to address this need?
You should talk to your sales representative. I know we have done VAR licenses in the past for MIDAS.
What are the chances of getting a deal on the MIDAS licenses, if you're doing a decent volume of sales?
The chances are very good. You need to work with your sales representative.
Who is the current MIDAS product manager? Who is the current MIDAS developer relations manager? I guess the question boils down to, who at Inprise/Borland is responsible for MIDAS at this point, and how do we contact them?
For product management issues, talk to Michael Swindell or Ben Riga. For MIDAS developer relations, David Intersimone, Charlie Calvert, Jason Williams, John Thomas, or me. It will probably end up with me eventually :-0. I'd recommend using email.
Are there any tools or techniques to using (connecting) a regular data module with a RemoteDataModule (i.e., use the 'same' DataModule in both client/server and MIDAS apps/projects)?
I'm sure this has probably been discussed on the public newsgroups. You might want to search a news archive (like DejaNews) to see if you can find more information. It is possible to mix the two types of data modules in a MIDAS server, but there are many issues to be aware of. So, if you are going to do it, I would do some research first.
MIDAS with MTS seems not too much used/recommended. Why?
Bugs have been reported against the BDE dispenser. This is an issue if you enable connection pooling. However, you can disable BDE pooling and still take advantage of just-in-time activation to reduce the number of concurrent connections to the database. The modifications to MIDAS for D5 allow MIDAS servers to work well with just-in-time activation by no longer requiring the MIDAS server to maintain state between calls (For example, with MIDAS3, Params are passed as a parameter to GetRecords. In MIDAS2, SetParams is called before calling GetRecords). Stateless methods are necessary because just-in-time activation causes the MIDAS server to be shut down after each call to IAppServer.
What about an administration interface for application servers?
Are you talking about something like AppCenter? Please follow up to the MIDAS newsgroup. My dynamic constraints article is a step in the direction of being able to do this.
Where can I find information (and/or examples) around the scalability of MIDAS? Perhaps even some performance information on concurrent users.
Some of the deployment stories for Delphi/MIDAS up on our Web site give examples/analysis on why MIDAS was selected for some real life applications.
Someone experienced problems with BDE dispenser for MTS. Will there be a fix or is ADO the answer?
If there is a bug with the BDE dispenser and its not a major architectural issue then it should be fixed. ADO can also be used, but I recommend that you wait until the Delphi 5 update has been released.
How robust are the load balancing features in MIDAS for very large application deployments?
MIDAS doesn't do load balancing itself, except for a sample component. The transport used by the MIDAS application can do it, like CORBA or Web servers for the HTTP transports, so you can leverage a variety of load balancing technologies with MIDAS without being limited by one we implement. MIDAS really focuses on leveraging the transports.
Will there be a version of MIDAS made available for non-NT platforms?
Kylix will include MIDAS support.
Kudos to the MIDAS team. It's awesome technology! Its made our lives much easier in many cases.
Thanks . Be assured that a lot more will be coming !
Do you plan to add a component/property to allow login via an interface login method to a MIDAS remote server at design time (i.e., similar to the database component login parameters property)?
We'll investigate. We do have the OnLogin event for the server that can be used to pass parameters to the server right now.
Are there any step-by-step instructions on setting up a MIDAS server on a new system (i.e., what needs to be done via dcomcnfg, etc.)?
Please see http://www.borland.com/midas/papers/technical/midtech2.html.
Do you have any case studies or information on MIDAS/D5 in large (200+ user) multi-tier environments (i.e., performance/issues)?
There are some new case studies at http://www.borland.com/midas/cases/.
After adding persistent fields to a nested dataset all server datasets get opened: Active = True. This is not the case with a single clientdataset.
When a dataset is opened, all nested datasets are opened at the same time. This is a change from Delphi 4 to Delphi 5. There is also a known issue with detail datasets being left open after providing data and that is probably related to what you are reporting. You may want to try following up on this in the public MIDAS newsgroup.
What changes will involve MIDAS with the arrival of w2k and COM+?
The current MIDAS technology works under Windows 2000 without any changes. We are investigating how to support COM+ and the other new technologies for a future release.
Expanding a previous question: What is your suggestion about creating an app server working with a lot of tables? Only one RDM or a lot of RDMs? Using Dan Miser's shared connection component (and why not include it in the next official release)?
Architecturally, you don't necessarily want to have the application server represent the whole database. Sometimes it is more efficient to have more servers, each dealing with a specific aspect of the desired functionality, like customer-account-management, new-orders-management, etc. Scalability, manageability, and maintenance usually improves.
Thanks, everyone! Lots of good questions.
Thanks and good bye.
M0jn! (as we say in my home-town)
Where I come from they say "Laters"
Thank you for joining us today!
The auditorium will be unhushed shortly so that you can resume general chat.
The next live chat with the Delphi Team is scheduled for next Thu., Jan. 27, 2000. Please also join us for other future Inprise/Borland Team chats. The schedule of upcoming live chats can be found at http://community.borland.com/article/1,1410,10208,00.html.
Hope to see you here again!
Download Delphi XE7 now!
Get Free Trial
Webinars on demand!
More social media choices:
Delphi on Google+
@RADTools on Twitter
Server Response from: ETNASC03