DataSnap Server as Windows Service and Debug - debugging

Good Morning,
We are just about to start a Multi-Tier project using DataSnap as our Server Application and Delphi Prism.
I made a little research and accepted the recomendation of creating the DataSnap Server as a Windows Service.
My question is: Is there an easy way to debug the DataSnap Server Service?
I'm asking that, because in some complex methods we may need to step into to validate the params values.
Sorry about my English, but I'm rusty because I haven't speak English for a long time.
UPDATE:
I almost forgot to update and explain how we get around this problem.
The only Alternative we found was to enable Log4Delphi in the DataSnap Server Project.
And set the log tool to register the SQL Queries and their params.
Log4Delhpi

Related

Functions used to connect Oracle DB

We are trying to connect oracle db from loadrunner. Could you please help us in providing these details. we wanted the script to get the data from oracle DB before starting the execution. In our testing we are used different application and protocols used Web http/html, Tuxedo and CRM aplls.
You are headed down a path which will cause you harm. Build your data files ahead of time and include them with the scripts. I could tell you how to solve your problem technically, but doing so would the the technical equivalent of instructing you how to use a gun to rob a bank, ultimately a bad set of advice. Your question also exposes a lack of critical skills in client side architecture and communications. This gap will not serve you well as a performance tester.

Ruby / Rails working with Delphi back end

Can anyone point me to some sources or tutorials that would help me wrap my head around using Rails to connect/inquire with a Delphi backend (using a Firebird database).
Also, a few questions regarding this setup.
Is a Delphi back-end faster than a rails back end? Delphi seems to have far better support for connecting to firebird than the ruby drivers would.
What is the current best choice method for making requests? The REST stuff, or some kind of RPC? or something else?
Since we are currently a Delphi shop, i assumed the back end being in delphi would help us leverage current skills better.
Any help is appreciated.
EDIT: Little bit about the set up.
So to make this easier to explain lets just say its essentially a todo organizer. So the frontend would be a calendar showing what is due on each day. Or perhaps list views of that information, etc. The "back-end" as I had called it would be something that is storing to a Firebird database. the RoR calendar site would then request information about Todos, or todos on a given day or date range, perhaps information about certain contacts. All of which is stored in Firebird.
I do realize you can do the front-end part in delphi as well but I'm trying to phase out Delphi in favor of newer languages.
AFAIK you need much more than a RESTful API to run a RoR application.
Most of the work is done on the server side: MVC model, data persistence, routing, etc...
Using Delphi as back end will need a huge amount of work.
Take a look at some projects, if you need a RESTful server built in Delphi:
Delphi on rails https://code.google.com/p/delphionrails
Delphi Web Script https://code.google.com/p/dwscript
Delphi Relax http://code.marcocantu.com/p/delphirelax
DataSnap (directly in Delphi)
our mORMot framework http://mormot.net
All implement direct connection to Firebird, and DoR + mORMot + DWS sounds to have better performance.
A Delphi based server will in all cases be more responsive.
DoR is more close to RoR - as the name states! Delphi Relax seems also close to it (even if I wonder if Marco will still maintain it - 5 months without commit).
DataSnap is more RAD, and integrated within the IDE.
DWS has a new DB backend, and the same high performance HTTP server than mORMot.
mORMot has a full client-server ORM, but web clients are to be build in AJAX - SmartMobileStudio is preferred.

Best way to get database information to a program (windows and mac)

I'm using delphi at the moment and have a program that connects to another program (a server) which has the mysql database on it and sends the data back to the client. I have a web server that has the server program and the database but my question is can I just go straight from the client program I have made (windows and future mac) to the mysql database on the web server? Or do I really need the server program? If so, what do I need to do to connect my client program to the MySQL database over the internet?
You should be able to access the mysql database directly as long as you've created a user/pw combo for the database that allows remote access (Security discussion aside). You'll then want to search for a compatible mysql library that would ease the communication between your program and mysql. At the far technical end you might have to read/write directly to the mysql socket but that's possible as well.
Depends on whether your client programs will continue to be native applications or whether you plan to migrate to browser based clients.
If they're native applications you can obtain library components for the languages they're written in which will be able to communicate directly with the MySQL database. There are plenty of options for Delphi; I'm not familiar with what options might be available for native Mac development (but, of course, Embarcadero is in the process of rolling out a Delphi that can generate Mac applications).
If, however, you're planning on making your clients browser-based, ajax solutions want to talk to a web server rather than a database server. In that case, you will need to maintain your middleware. For a discussion of whether it's possible or desirable to have a browser based application communicate directly with a database server see this question.
I would use SOAP/XML for this, and leave the SQL out of the client entirely.
This is a typical use case where REST (for example using JSON encoded database records) can be helpful. It is easy to implement a Delphi client using lkJSON or SuperObject, to put the database records from the HTTP response into a TClientDataSet.
Yes, it's possible, but is it a good idea?
here's a basic discussion of 2 tier v 3 tier architecture

getting started with Single Sign On / Windows Authentication

First off, The Problem:
We have a Web App with a Flash front-end that talks to our ASP.NET web service via SOAP which then deals with all of our server side code (C#).
Right now, we implement a simple user sign on in our application, storing the info in our MSSQL DB.
A client has requested what I understand to be Windows authentication through our application using the currently logged in user.
So, I have been tasked with investigating this. Nobody, including myself, has any experience in this area.
I have been reading up on some basic Active Directory information, and some simple tutorials. I understand how to get access to the directory using ADSI through code. What I'm really interested in seeing is how the entire thing should be architected. I don't want to throw together a hacky solution.
Does anyone know of a good tutorial for this kind of thing or have any advice on getting started? More importantly, does this even sound viable?
I know I haven't given much information, but feel free to ask and I will provide answers.
Thanks.
Edit:
Will, to give you an idea of the scope of this, the network will include every computer in a large hospital. So yes, this is huge. Clearly I need to start small. I would like to come up with something that will work at my office first. Maybe ~10 Windows computers on a single domain. One Domain Controller.
I am also open to any good books on the subject.
If you are going to tie into Active Directory you will want to take a look at the System.DirectoryServices namespace. The implementations can vary wildly depending on your system architecture, but this should give you a good starting point.
Enjoy!

Using Direct Connect access to ArcGIS databases in standalone applications

I work in an enterprise designing, creating and maintening custom applications on the base of ESRI ArcGIS. Some customers use Direct Connect, to connect to databases stored on Oracle or MS SQLServer. I have a problem with a standalone application for several months now.
I have an application, written in Delphi. One of the first things I do, of course, is opening the workspace.
pWorkspaceFactory:= CoSdeWorkspaceFactory.Create as IWorkspaceFactory;
pWorkspaceFactory.OpenFromFile('D:\directconnect.sde', WndHandle, pWorkspace);
This works fine for all "normal" connects, in some cases of direct connect it works fine too. But it may happen that I get on a different database a stackoverflow when calling OpenFromFile. Raising the MaxStackSize in the project options of the delphi project made it work on some Direct Connect databases. But it doesn't work for all.
Does anybody know the correct way to handle Direct Connects in standalone applications, without ArcMap? Accessing the databases in ArcMap has never been a problem, I think ArcMap has a special handling for Direct Connects.
Thanks for all ideas and replies. May the answer be with you ;-)
Greetings
warheart
Thank you for your comment. I can't post more details about the exception at the moment, because I can't reproduce it on my testdatabases. It's only out in the wild the exception occurs. But I can say that it happens in a (for me) closed ESRI-Dll, i cannot see the call stack of the dlls methods (OpenFromFile is an ESRI-Method in an ESRI-Dll). I would like to post such things, but I can't.
Could it have something to do with the DC library you are using? There are separate libraries for each version of ArcGIS and each flavor of database.

Resources