MIDAS 3 Live Chat Transcript from Jan. 20th, 2000

By: Christine Ellis

Abstract: MIDAS 3 Live Chat Transcript from Jan. 20th, 2000

Delphi/C++Builder Live Chat on Thursday, January 20, 2000

Subject: MIDAS 3

Chat Formatting Conventions

chatter 1

This is a question asked by a chat participant

speaker 1

This is an answer or message posted by a speaker

chatter 2

This is another question asked by a chat participant

speaker 2

This is another answer or message posted by a speaker

editor

This is an editorial comment

Chat Transcript from Thursday, January 20, 2000

Please note: Some of the text for this chat has been edited for clarity.

Chat User

Message

cellis

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:
Mark Edington
Kurt Hansen
Jim Tierney

cellis

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.

cellis

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.

dmiser

What is the status of TCachedDataset? Will it be made available for Pro users for D5?

jkaster

We're still investigating the best way to release it.

dmiser

When will poAutoRefresh be implemented?

medington

I can't give you a specific time frame, but we are committed to adding this functionality.

dmiser

Will MIDAS have a place in Kylix?

khansen

The data access in Kylix will be based on MIDAS. It will be a core feature in Kylix, as it is in Delphi 5.

dmiser

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.

medington

Yes, we are investigating this. However, no specific details are available at this time.

whoopdeedoo

Is MIDAS the same for Delphi and C++Builder? Are there differences between versions for D5 and CB4?

khansen

C++Builder is released after Delphi, so C++Builder 5 will have the same MIDAS functionality as Delphi 5 had.

smetzger

What components require the use of a MIDAS license?

jtierney

Movement across machine boundaries determines license requirements. See the article at http://www.borland.com/midas/papers/licensing/.

essedi

Is your intention to continue to support MIDAS with future release/enhancements?

jkaster

Yes. MIDAS is a core part of our data connectivity strategy, and work is always ongoing. Lots of new things are being worked on.

essedi

Are you working to achieve a greater overall stability of MIDAS?

medington

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.

xaa

Can anyone explain to me what MIDAS is all about?

khansen

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/.

DelphiGreg

Are there plans to support Apache with MIDAS?

jtierney

Yes. Using Kylix, you will be able to create Web applications that use MIDAS (For example, InternetExpress apps.)

dliske

How do things look for Windows 2000, and will the transition be a smooth one?

jkaster

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.

whoopdeedoo

What is the deployment pricing for MIDAS servers these days?

jkaster

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.

dmiser

Will the pooling feature be available for other connection types besides TWebConnection?

medington

We are investigating this for the next release.

jyeger

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?

jtierney

Yes, but it may be necessary to modify the Delphi 5 application to use a data transport supported by Kylix.

rider

Why doesn't TClientDataSet support TField.OldValue?

medington

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.

editor

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.

eholton

What is TCachedDataSet?

jkaster

Its a component based on MIDAS technology designed to replace TCachedUpdate for Pro customers. We currently recommend TClientDataset as a replacement for cached updates.

rider

When will we get the MIDAS fixes for Delphi 5?

jkaster

The MIDAS fixes will be released with the Delphi 5 update pack.

rider

Delphi and Nested DataSets: Why is OnCalcField not supported in a nested dataset?

medington

I wasn't aware that it's not working. If you would, please submit a bug report with specific information about when it fails.

DavidR

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?

jkaster

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.

rider

Mark: TDataSetProfvider.OnBeforeUpdateRecord supports OldValue/NewValue, but not for Blobs. Why?

medington

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.

marcocantu

Any extra information about writing InternetExpress components (beside looking into the source, as I've done)?

jtierney

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.

DavidR

Who is the proper person at Inprise/Borland to contact to discuss my MIDAS licensing issues (deployment within a commercial application)?

jkaster

You should be talking to your Inprise sales representative.

alex740

How I can use more than 14 linked as one-to-many tables (queries) in TRemoteDataModule? It seems impossible now.

khansen

It is a limitation more and more people have complained about, and something we intend to fix.

marcocantu

Do you need to deploy any file on the server for an InternetExpress program NOT using a MIDAS dataset but a local provider?

jtierney

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.

dmiser

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?

jkaster

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.

hhariri

Does CommandText of CDS work with IBDataSet?

medington

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.

dliske

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?

jtierney

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.

smetzger

How about a chat on CORBA sometime?

jkaster

We'll get one scheduled.

RMilmine

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?

medington

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.

essedi

There's also a big problem for nested datasets where fetch details on demand is true.

jkaster

Please file a bug report.

marcocantu

Follow up to a previous question: I thought that using broker/datasetprovider/localdataset required no extra deployment (but a license )?

jtierney

midas.dll is needed to manage the XML data packets and delta packets.

dliske

Keep up the great work, you guys are making me look like a genius (and that's not easy).

jkaster

That's what the license fee is for (grin). Seriously, thanks, and we think you'll like what's coming up.

DavidR

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?

jkaster

You should talk to your sales representative. I know we have done VAR licenses in the past for MIDAS.

dliske

What are the chances of getting a deal on the MIDAS licenses, if you're doing a decent volume of sales?

jkaster

The chances are very good. You need to work with your sales representative.

dmiser

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?

jkaster

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.

MikeM

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)?

medington

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.

essedi

MIDAS with MTS seems not too much used/recommended. Why?

jtierney

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.

essedi

What about an administration interface for application servers?

jkaster

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.

dliske

Where can I find information (and/or examples) around the scalability of MIDAS? Perhaps even some performance information on concurrent users.

khansen

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.

essedi

Someone experienced problems with BDE dispenser for MTS. Will there be a fix or is ADO the answer?

medington

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.

DelphiGreg

How robust are the load balancing features in MIDAS for very large application deployments?

jkaster

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.

DelphiGreg

Will there be a version of MIDAS made available for non-NT platforms?

jtierney

Kylix will include MIDAS support.

DavidR

Kudos to the MIDAS team. It's awesome technology! Its made our lives much easier in many cases.

khansen

Thanks . Be assured that a lot more will be coming !

MikeM

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)?

jkaster

We'll investigate. We do have the OnLogin event for the server that can be used to pass parameters to the server right now.

BradH

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.)?

jtierney

Please see http://www.borland.com/midas/papers/technical/midtech2.html.

MikeM

Do you have any case studies or information on MIDAS/D5 in large (200+ user) multi-tier environments (i.e., performance/issues)?

jkaster

There are some new case studies at http://www.borland.com/midas/cases/.

rider

After adding persistent fields to a nested dataset all server datasets get opened: Active = True. This is not the case with a single clientdataset.

medington

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.

essedi

What changes will involve MIDAS with the arrival of w2k and COM+?

medington

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.

essedi

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)?

khansen

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.

jkaster

Thanks, everyone! Lots of good questions.

jtierney

Thanks and good bye.

khansen

M0jn! (as we say in my home-town)

medington

Where I come from they say "Laters"

cellis

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!


Server Response from: ETNASC04