Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Suggested way for developing with IW


This question is answered. Helpful answers available: 0. Correct answers available: 1.


Permlink Replies: 6 - Last Post: Oct 12, 2015 1:51 PM Last Post By: Dan Barclay
Ertan Kucukoglu

Posts: 49
Registered: 7/4/09
Suggested way for developing with IW  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 10, 2015 8:04 AM
Hi,

I am just testing all possibilities of IW development.

Documentation mention Stand alone Application or ISAPI Extension type of building. However, I assume ISAPI Extension is not easy to debug. Please correct me if that's not true.

According to documentation it is possible to convert project types that asked when creating a new IW application (http://docwiki.embarcadero.com/RADStudio/XE8/en/Changing_IntraWeb_application_type).

My question here is, is it suggestible to do development as a stand alone application and then convert into an ISAPI Extension before building for Release product? However, I would like to be sure that there will be no issues/problems/code changes rising when doing such changes.

Thanks.

Regards,
Ertan Küçükoğlu

Edited by: Ertan Kucukoglu on Oct 10, 2015 8:05 AM
Daniel Fields

Posts: 622
Registered: 11/29/04
Re: Suggested way for developing with IW  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 10, 2015 11:06 AM   in response to: Ertan Kucukoglu in response to: Ertan Kucukoglu
I do not use ISAPI for deployment. I develop as a stand-alone server and the deploy as a service. It works very well. As I understand it you should always develop and debug as a stand-alone and then deploy using the technology of your choice. Debugging anything other than stand-alone (SA) requires more work. Even debugging a service requires extra steps. Going from SA to service and back does not require the extra steps.

Also, I have found the Embarcadero IW docs to be very thin. The AtoZed documentation is not complete, but it is closer to the source, and contains some specific deployment information. You should check this source for deployment information.

http://docs.atozed.com/docs.dll/deployment/index.html

Ertan Kucukoglu

Posts: 49
Registered: 7/4/09
Re: Suggested way for developing with IW  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 10, 2015 10:49 PM   in response to: Daniel Fields in response to: Daniel Fields
There is an idea to use an internet application. That application will most likely be deployed on a lease server placed in a data center. That data center will most likely be in a different country, out of my physical reach.

I didn't have such experience before so I'm asking out of knowledge. Will I be allowed to access that computer so that I will be able to install a service on it?

Thanks.
Daniel Fields

Posts: 622
Registered: 11/29/04
Re: Suggested way for developing with IW  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 11, 2015 12:06 AM   in response to: Ertan Kucukoglu in response to: Ertan Kucukoglu
I would assume that they either give you access, or have someone on staff do it. I have used public cloud servers on Amazon and Rackspace. In all instances I use Remote Desktop Connection (RDC) to control the server. It comes free with every version of Windows. After you login the server desktop appears in a window. You can control it as if you were sitting right in front of it. You can connect your local drive to RDC and then drag and drop files to the server. You can start and stop your server from the Services window in Task Manager. It is very easy to do.

Your installation is very simple for a service:

1. Create Folder
2. Create wwwroot subfolder.
3. Create files sublfolder
4. Copy MyApplication.exe to the folder
5. Copy supporting files to wwwroot and wwwroot\files
6. From command prompt
C:\MyAppFolder>MyApplication.exe -install
7. Your application is now live. Assuming you opened the firewall port for your application.

You could automate that with an installer, but there is nothing difficult about the service. Any deployment method you choose will require access to the server at an administrative level. That is just basic security for any server environment.

I like using the service deployment because it works very well with Windows. It can easily be started with the server on a reboot. I typically turn IIS off on my cloud servers, which makes my application the only thing active. This allows me to get very good performance.
Ertan Kucukoglu

Posts: 49
Registered: 7/4/09
Re: Suggested way for developing with IW  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 12, 2015 2:03 AM   in response to: Daniel Fields in response to: Daniel Fields
What about deploying as an ASPX? http://docs.atozed.com/docs.dll/deployment/ASPX%20Deployment.html

Again, I am quite new to Intraweb. I might ask ridiculous questions. I apologize beforehand.

What I am trying to understand is if there is any functionality lost in SA deployment. Such as no JEDI support, performance lost. Basically, it would be nice to have what any given deployment type has advantages over others kind of table.

Also, this page displays that it is easy to convert and compile for different deployments.

http://docs.atozed.com/docs.dll/deployment/Changing%20project%20types.html

However, I would like to be sure that no code change required other than what explained in above link.

Regards,
Ertan Küçükoğlu
Daniel Fields

Posts: 622
Registered: 11/29/04
Re: Suggested way for developing with IW
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 12, 2015 11:19 AM   in response to: Ertan Kucukoglu in response to: Ertan Kucukoglu
No apologies necessary. The only way you will learn is to ask the questions required to do what you seek to accomplish. I am not bothered by your questions in any way. This is one of the ways I better my skills, answering question on this forum.

S I stated before, I am not an ASPX developer. I followed the instructions when the feature was added to IW, but only as an experiment. I have only used ISAPI once, when required by the client. The biggest difference I see is that ISAPI and ASPX do not use the port# for access. In both cases you are plugging your application into an existing web framework. The deployment flexibility of IW is not about one being better than the other. It is more about having the ability to use IW with your exiting web strategy.

If you are an ISAPI shop, you can use this tool without having to change your infrastructure. The same is true with ASP because to IW it is just another deployment target. In both cases your system is not disrupted because of new development choices. You should use what is most appropriate for each case and environment.

I have chosen to stay with stand-alone because I do not reply on other web frameworks. I believe that you should have the least amount of technology between your application and the system as possible. The other deployment options have an extra layer because they require IIS to be running, as your application will be plugging into them. With stand-alone there is nothing between your application and the operating system. I have found building a lean server, without IIS running, has some performance advantages over just about everything I have tested against. It also makes scaling easier because I have fewer things to worry about.

If I were you, I would make a simple application to simulate some real activity, and then try all of the deployment methods to see if you get differences in performance. Beyond those deployment differences you do not have to change any of the logic or flow in your application.
Dan Barclay

Posts: 889
Registered: 11/9/03
Re: Suggested way for developing with IW
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 12, 2015 1:51 PM   in response to: Ertan Kucukoglu in response to: Ertan Kucukoglu
Ertan Kucukoglu wrote:
What about deploying as an ASPX? http://docs.atozed.com/docs.dll/deployment/ASPX%20Deployment.html

Again, I am quite new to Intraweb. I might ask ridiculous questions. I apologize beforehand.

What I am trying to understand is if there is any functionality lost in SA deployment. Such as no JEDI support, performance lost. Basically, it would be nice to have what any given deployment type has advantages over others kind of table.

Also, this page displays that it is easy to convert and compile for different deployments.

http://docs.atozed.com/docs.dll/deployment/Changing%20project%20types.html

However, I would like to be sure that no code change required other than what explained in above link.

This is the place for questions (well, there is also news.atozed.com). Daniel and other users do a great job of explaining things. In addition, you'll find the developers here fairly regularly. That has been important to myself and others, and pretty much compensates for the poor documentation. The good news is that once you figure things out, they make sense.

I keep three project files in my Project directory. One is for Standalone, another is for ISAPI, the third is for ASPx. There is little difference in the dpr/dproj files and no other files are changed. I did that mainly on principal.

Regardless of how you do your final deployment, do your development in Standalone. If you have questions on whether some process is "legitimate" in one of the other environments then do a build for that environment and find out. Then go back and do more development in Standalone so that you can use the IDE.

Now, having said that, I confess that I haven't got around to actually installing and running the ISAPI and ASP versions because I'm not familiar with those environments! I do compile them. So, there may be some things that are legal in Standalone and might not run in ISAPI/ASP. If so, I will fix them when it matters. If those environments are important to you then just do a build on occasion to make sure you are still on track.

Dan
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02