Discussion:
New to IW
(too old to reply)
Carl Burger
2008-02-27 16:21:17 UTC
Permalink
Hi there.

I have one Firebird Database at my office and I need to give my clients all
over
the Country access to it. To retreive and Update dit Database. I have played
with Intraweb but when I run my App remotely from within my company
it fails because the BDE and Firebird is not installed on the Local machine.
Telling me that it would not work for my clients all over the country.
Is IW what I am looking for?
Bill
2008-02-27 14:01:26 UTC
Permalink
Like you I am new to IntraWeb so I am not sure how much help I can
provide. First, all development on the BDE was stopped many years ago.
It is a very poor choice for any new development.

It sounds like you may be running your IW app as a stand alone EXE. If
clients need to run it remotely over the Internet you need to convert
it to and ISAPI DLL or an Apache library so your clients can run the
app via your Web server.
--
.Bill.
Jason Southwell
2008-02-27 18:48:00 UTC
Permalink
Post by Bill
It sounds like you may be running your IW app as a stand alone EXE. If
clients need to run it remotely over the Internet you need to convert
it to and ISAPI DLL or an Apache library so your clients can run the
app via your Web server.
Standalone also permits people to connect to it from the Internet.
Bill
2008-02-27 18:28:17 UTC
Permalink
Post by Jason Southwell
Standalone also permits people to connect to it from the Internet.
How?

Do you mean that it is possible to connect to the EXE if the EXE is
already running?
--
.Bill.
Rita
2008-02-28 01:44:58 UTC
Permalink
Post by Bill
How?
Do you mean that it is possible to connect to the EXE if the EXE is
already running?
The exe has a built in standalone http server but then most exe's can
be used by another user when running.
Rita
Jason Southwell
2008-02-28 01:49:47 UTC
Permalink
Post by Bill
Post by Jason Southwell
Standalone also permits people to connect to it from the Internet.
How?
Do you mean that it is possible to connect to the EXE if the EXE is
already running?
You run the exe on the server. Then from another computer, you put the URL
in the browser to the server along with the port and startcmd (if one exists).
Same way as ISAPI but the standalone takes the place of IIS.
Ray Porter
2008-02-27 15:07:09 UTC
Permalink
If you run in standalone mode, the database connectivity layer does need to
be installed on the local machine. For what you want to do, you're going to
need to deploy your application as an ISAPI extension to a web server
(probability Internet Information Server) that supports ISAPI extensions.
In that configuration, your database connectivity layer needs to be
installed on the web server but not on each local machine. You'll have to
purchase a full license from Atozed to really make this work.

I'd also suggest you switch to something other than the BDE for your
database layer. I've used ADO (dbGo) for years now with no problems. ISAPI
extensions have to be thread-safe and I'm not sure the BDE is.

Ray Porter
Post by Carl Burger
Hi there.
I have one Firebird Database at my office and I need to give my clients all
over
the Country access to it. To retreive and Update dit Database. I have played
with Intraweb but when I run my App remotely from within my company
it fails because the BDE and Firebird is not installed on the Local machine.
Telling me that it would not work for my clients all over the country.
Is IW what I am looking for?
Jason Southwell
2008-02-27 18:47:09 UTC
Permalink
Post by Ray Porter
If you run in standalone mode, the database connectivity layer does
need to be installed on the local machine. For what you want to do,
No, it would just need to be installed on the machine running the standalone.
You would not need it installed on the user's machine.
Post by Ray Porter
you're going to need to deploy your application as an ISAPI extension
to a web server (probability Internet Information Server) that
You do not need to use ISAPI. You can also use Standalone, Service and Apache
(depending on your Delphi version).
Post by Ray Porter
I'd also suggest you switch to something other than the BDE for your
database layer. I've used ADO (dbGo) for years now with no problems.
ISAPI extensions have to be thread-safe and I'm not sure the BDE is.
Agreed, that the BDE is not recommended for server based solutions.
Ray Porter
2008-02-27 19:17:36 UTC
Permalink
I stand corrected, Jason. Though in reading the IW documentation it looks
like there are other issues with standalone (like the need to be logged into
the host machine) that would make standalone in appropriate for the OP's
problem where he needs users from many locations to access his app. My
impression is that standalone would be most useful in an intranet
environment rather than a true, public facing web app.

Standalone is certainly nice and I always develop in standalone then deploy
to ISAPI.

Ray
Post by Jason Southwell
Post by Ray Porter
If you run in standalone mode, the database connectivity layer does
need to be installed on the local machine. For what you want to do,
No, it would just need to be installed on the machine running the
standalone. You would not need it installed on the user's machine.
Post by Ray Porter
you're going to need to deploy your application as an ISAPI extension
to a web server (probability Internet Information Server) that
You do not need to use ISAPI. You can also use Standalone, Service and
Apache (depending on your Delphi version).
Post by Ray Porter
I'd also suggest you switch to something other than the BDE for your
database layer. I've used ADO (dbGo) for years now with no problems.
ISAPI extensions have to be thread-safe and I'm not sure the BDE is.
Agreed, that the BDE is not recommended for server based solutions.
Joel
2008-02-27 19:41:25 UTC
Permalink
Standalone and setting up IW as a service are basically interchangeable.
When it is deployed as a service then no one would need to be logged into
the host machine.

I usually develope in Standalone and then deploy either under IIS or as a
service.

Joel
Post by Ray Porter
I stand corrected, Jason. Though in reading the IW documentation it looks
like there are other issues with standalone (like the need to be logged
into the host machine) that would make standalone in appropriate for the
OP's problem where he needs users from many locations to access his app.
My impression is that standalone would be most useful in an intranet
environment rather than a true, public facing web app.
Standalone is certainly nice and I always develop in standalone then
deploy to ISAPI.
Ray
Post by Jason Southwell
Post by Ray Porter
If you run in standalone mode, the database connectivity layer does
need to be installed on the local machine. For what you want to do,
No, it would just need to be installed on the machine running the
standalone. You would not need it installed on the user's machine.
Post by Ray Porter
you're going to need to deploy your application as an ISAPI extension
to a web server (probability Internet Information Server) that
You do not need to use ISAPI. You can also use Standalone, Service and
Apache (depending on your Delphi version).
Post by Ray Porter
I'd also suggest you switch to something other than the BDE for your
database layer. I've used ADO (dbGo) for years now with no problems.
ISAPI extensions have to be thread-safe and I'm not sure the BDE is.
Agreed, that the BDE is not recommended for server based solutions.
Zoren Lendry
2008-02-27 19:57:34 UTC
Permalink
So you can install the EXE on the web server machine as a service then that
service can be accessed from the web via IIS? It's not clear to me from the
IW documentation that such a configuration is possible.
No, basically StandAlone and Windows Service are identical -- in that
they BOTH have a fully functional web server compiled into the exe, and
thus have no need of IIS. The only difference is the plumbing to run as
a service, which is obviously needed to install as a service,
eliminating the need for someone to be logged into the server.

Loren sZendre
Ray Porter
2008-02-27 20:17:17 UTC
Permalink
No, basically StandAlone and Windows Service are identical -- in that they
BOTH have a fully functional web server compiled into the exe, and thus
have no need of IIS. The only difference is the plumbing to run as a
service, which is obviously needed to install as a service, eliminating
the need for someone to be logged into the server.
Loren sZendre
Oh, so I misunderstood based on Joel's comment that he deployed to IIS. So
you could install an IW app as a service on machine visible to the internet,
listening on some port, then users could access it with something like
http://servername:portnum/myapp.exe?variable=value. Can you implement SSL
in this environment? What are the negatives to deploying this way as
opposed to creating ISAPI extensions?

Thanks,
Ray
Zoren Lendry
2008-02-27 21:42:37 UTC
Permalink
Post by Ray Porter
you could install an IW app as a service on machine visible to the internet,
listening on some port, then users could access it with something like
http://servername:portnum/myapp.exe?variable=value. Can you implement SSL
in this environment? What are the negatives to deploying this way as
opposed to creating ISAPI extensions?
Some folks just don't like dealing with all the security pains of IIS.
Others like IIS because it can handle all the SSL issues for you. But
having said that, StandAlone and Windows Service deployment -- do have
SSL support.

Negatives? Positivies? Well, the only thing I can think of as a Positive
is that deploying as a Windows Service being identical to StandAlone
(except for the plumbing) -- when you are done developing, and you
recompile as a service -- it will almost always behave the same. Whereas
if you develop as a StandAlone, then switch to ISAPI for deployment,
there are a few things that work differently under IIS -- so those
details might cost you a bit of extra time to sort through them. But
once you figure them out, one of the strengths of IW is that you do have
so many deployment options, whereas some frameworks limit you to one choice.

Loren sZendre
Jason Southwell
2008-02-28 02:00:55 UTC
Permalink
IIS. So you could install an IW app as a service on machine visible
to the internet, listening on some port, then users could access it
with something like
http://servername:portnum/myapp.exe?variable=value. Can you implement
Yes, but not with that URL. If you were on a machine that was called server.com
and your app was compiled to run on port 8888 and it did not have a startcmd,
then you would simply use the url: http://server.com:8888/
SSL in this environment? What are the negatives to deploying this way
as opposed to creating ISAPI extensions?
SSL works fine. The biggest reason I choose service over ISAPI is that IIS
sucks and I hate dealing with it.

The biggest disadvantage to using service instead of ISAPI is that you can't
have multiple IW apps running on the same server at the same port. I get
around that though via a load balancing and failover product called octagate
that allows me to get around that issue.
Ray Porter
2008-02-28 02:41:55 UTC
Permalink
Thanks, Jason. We're configuring IIS for a new IW isapi dll now. My
hardware guy just got the server running this afternoon and had a nice,
pretty dns name registered. We've done this a couple of times now so it's
not too big of a deal but I do worry about MS changing how IIS acts (i.e.,
like the changes between IIS 5 and IIS 6) and having problems as a result of
those changes if we upgrade IIS. My apps also often have to interact with
static pages and applications hosted by vendors. I would guess you can't
serve static pages, at least not without loading them via your IW app when
running as a service?

I'll have to bring this up with my tech support colleagues and see if
there's any interest in exploring this possibility. I suppose you can run
multiple IW apps as long as each listens on a different port?

Thanks,
Ray
Post by Jason Southwell
IIS. So you could install an IW app as a service on machine visible
to the internet, listening on some port, then users could access it
with something like
http://servername:portnum/myapp.exe?variable=value. Can you implement
Yes, but not with that URL. If you were on a machine that was called
server.com and your app was compiled to run on port 8888 and it did not
http://server.com:8888/
SSL in this environment? What are the negatives to deploying this way
as opposed to creating ISAPI extensions?
SSL works fine. The biggest reason I choose service over ISAPI is that
IIS sucks and I hate dealing with it.
The biggest disadvantage to using service instead of ISAPI is that you
can't have multiple IW apps running on the same server at the same port.
I get around that though via a load balancing and failover product called
octagate that allows me to get around that issue.
Jason Southwell
2008-02-28 02:54:05 UTC
Permalink
Post by Ray Porter
Thanks, Jason. We're configuring IIS for a new IW isapi dll now. My
hardware guy just got the server running this afternoon and had a
nice, pretty dns name registered. We've done this a couple of times
now so it's not too big of a deal but I do worry about MS changing how
IIS acts (i.e., like the changes between IIS 5 and IIS 6) and having
problems as a result of those changes if we upgrade IIS. My apps also
often have to interact with static pages and applications hosted by
vendors. I would guess you can't serve static pages, at least not
without loading them via your IW app when running as a service?
You can serve static pages fine. Just place them in the /Files subdirectory.
Post by Ray Porter
I'll have to bring this up with my tech support colleagues and see if
there's any interest in exploring this possibility. I suppose you can
run multiple IW apps as long as each listens on a different port?
Yes, so long as each runs on a different port, or if you use a product like
Octagate (which I recommend even if you are using IIS).
Bill
2008-02-27 19:45:42 UTC
Permalink
Thanks. That makes the options clear.
--
.Bill.
Ray Porter
2008-02-27 19:44:27 UTC
Permalink
Post by Joel
Standalone and setting up IW as a service are basically interchangeable.
When it is deployed as a service then no one would need to be logged into
the host machine.
I usually develope in Standalone and then deploy either under IIS or as a
service.
Joel
So you can install the EXE on the web server machine as a service then that
service can be accessed from the web via IIS? It's not clear to me from the
IW documentation that such a configuration is possible.

Thanks,
Ray
Jason Southwell
2008-02-28 01:52:57 UTC
Permalink
Post by Ray Porter
I stand corrected, Jason. Though in reading the IW documentation it
looks like there are other issues with standalone (like the need to be
logged into the host machine) that would make standalone in
appropriate for the OP's problem where he needs users from many
locations to access his app. My impression is that standalone would
be most useful in an intranet environment rather than a true, public
facing web app.
Technically the server would need to be logged in to run the standalone,
but not the service which uses the same server as the standalone.
Post by Ray Porter
Standalone is certainly nice and I always develop in standalone then
deploy to ISAPI.
I never (almost never) deploy to ISAPI. I almost always develop in standalone
and deploy as a service.
Colin Kelly
2008-07-19 12:04:14 UTC
Permalink
Hi Jason,

Is it possible to deploy IW as a service if the application uses a
customstandaloneform?
Post by Jason Southwell
Post by Ray Porter
I stand corrected, Jason. Though in reading the IW documentation it
looks like there are other issues with standalone (like the need to be
logged into the host machine) that would make standalone in
appropriate for the OP's problem where he needs users from many
locations to access his app. My impression is that standalone would
be most useful in an intranet environment rather than a true, public
facing web app.
Technically the server would need to be logged in to run the standalone,
but not the service which uses the same server as the standalone.
Post by Ray Porter
Standalone is certainly nice and I always develop in standalone then
deploy to ISAPI.
I never (almost never) deploy to ISAPI. I almost always develop in
standalone and deploy as a service.
Carl Burger
2008-02-28 12:02:59 UTC
Permalink
Thanks for all the help and Suggestions. Intraweb looks great and I think I
will Purchase
the full License.
Is there somewhere I can download more Document on exactly how to Setup up
Intraweb and a Webserver from Scratch? As I am very new to all this.

Thanks Again.
Post by Ray Porter
If you run in standalone mode, the database connectivity layer does need
to be installed on the local machine. For what you want to do, you're
going to need to deploy your application as an ISAPI extension to a web
server (probability Internet Information Server) that supports ISAPI
extensions. In that configuration, your database connectivity layer needs
to be installed on the web server but not on each local machine. You'll
have to purchase a full license from Atozed to really make this work.
I'd also suggest you switch to something other than the BDE for your
database layer. I've used ADO (dbGo) for years now with no problems.
ISAPI extensions have to be thread-safe and I'm not sure the BDE is.
Ray Porter
Post by Carl Burger
Hi there.
I have one Firebird Database at my office and I need to give my clients all
over
the Country access to it. To retreive and Update dit Database. I have played
with Intraweb but when I run my App remotely from within my company
it fails because the BDE and Firebird is not installed on the Local machine.
Telling me that it would not work for my clients all over the country.
Is IW what I am looking for?
Carl Burger
2008-02-28 14:39:25 UTC
Permalink
Thanks I will not use the BDE for this app.. I know its OLD technology the
thing is I did not write
to original App. But for this excercise the BDE will not get near my app.

Thanks guys
Post by Ray Porter
If you run in standalone mode, the database connectivity layer does need
to be installed on the local machine. For what you want to do, you're
going to need to deploy your application as an ISAPI extension to a web
server (probability Internet Information Server) that supports ISAPI
extensions. In that configuration, your database connectivity layer needs
to be installed on the web server but not on each local machine. You'll
have to purchase a full license from Atozed to really make this work.
I'd also suggest you switch to something other than the BDE for your
database layer. I've used ADO (dbGo) for years now with no problems.
ISAPI extensions have to be thread-safe and I'm not sure the BDE is.
Ray Porter
Post by Carl Burger
Hi there.
I have one Firebird Database at my office and I need to give my clients all
over
the Country access to it. To retreive and Update dit Database. I have played
with Intraweb but when I run my App remotely from within my company
it fails because the BDE and Firebird is not installed on the Local machine.
Telling me that it would not work for my clients all over the country.
Is IW what I am looking for?
Continue reading on narkive:
Loading...