Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread Thanks for all the responses re development crossroads
Fri, Apr 4 2014 5:10 PMPermanent Link

Gerald J. Clancy, Jr.

Firstly, I want to thank all of you for your very thoughtful responses.
There were some common threads and several of you pointed out what I had
already pretty much concluded, namely, that the most straightforward and,
developmentally, shortest path is to simply stay put and upgrade whatever is
necessary. I would rather spend the time flogging our congressional products
or, frankly, spending time with grandkids.

Doing otherwise is tantamount to starting from scratch in unknown
environments. It's really too late in the game for me to switch horses since
I can achieve what is necessary with the current environment with far less
devekopment, albeit at higher cost but, then, my time is worth something.
EWB may or may not be up to the task yet but, as Raul pointed out, v2 may be
more able, so staying put always keeps the option to switch open (though
time runs out in my case).

I did glean some interesting things from your posts, as well as the email
sent me privately by Mike Margerum, so some follow-ups:

1. Many of you mentioned the RemObjects SDR and server. I currently use an
old but small and fast server process that has served me well (and supports
ISAPIs), but I really need to replace it, so I would welcome further input
on how to go about that.

2. Related to that, if not ISAPIs, what do you generate to the server, cgi
files? I would love to dump IW and just use native IDE or TMS components and
dispense with the complexity of debugging, etc. The impact to code would be
minimal. Does RemObjects handle session control and separate database
instances by user? I intend to check it out.

The other environment that was mentioned by several of you was Node.js
server side and Angular2017 JS, though this may be moot if I stay put. This
Javascript framework seems to get a lot of play in the forums.

Rather than continue this discussion here,, as it may be a bit off subject
for EWB, please feel free to email me at jclancy @ billtrak.com.

Finally, for a sense of what we produce open the link below to one of our
Congressional Session Day Reports and click on the various Report links,
particularly the Voting and Status Reports. Though most are PDFs, BillTrak
can produce most of these reports in any format.

http://www.billtrak.net/us113/csdrs/csdr140306.htm

Once again, my thanks to all for your helpful input.

Jerry
Tue, Apr 8 2014 8:46 AMPermanent Link

Matthew Jones

> 1. Many of you mentioned the RemObjects SDR and server. I currently
> use an old but small and fast server process that has served me
> well (and supports ISAPIs), but I really need to replace it, so I
> would welcome further input on how to go about that.

What is your server actually doing? It may not need replacing, perhaps just
enhancing. How does it deliver its services to the clients? Is it plain HTTP
serving? Or XML or JSON? (Hmm, if old, JSON is unlikely.)

Anyway, I use the RemObjects SDK as a Windows Service, and the http/s channel does
"vanilla" http serving from a folder too. Thus you can use it as the web server,
and it can offer the smart services too. You can use it as an ISAPI DLL too, but
I've always shied away from IIS etc so I don't know how well that works. This like
implies it is fairly normal:
http://wiki.remobjects.com/wiki/Smart_Project_-_Creating_Scalable_Smart_Service_(Del
phi)

The key is that you might be able to do a new ISAPI service that sits alongside
your existing one, and accesses a common database or other system. It's hard to
know without details.

I've been talking to someone else on this, and I must blog about a few aspects that
I think are useful to know.

/Matthew Jones/
Fri, Apr 11 2014 3:10 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jerry,

Just a quick note on a couple of things:

<< 2. Related to that, if not ISAPIs, what do you generate to the server,
cgi files? I would love to dump IW and just use native IDE or TMS components
and dispense with the complexity of debugging, etc. The impact to code would
be minimal. Does RemObjects handle session control and separate database
instances by user? I intend to check it out. >>

With EWB applications, you really don't need session control anymore.  An
EWB application is inherently a single-page application (SPA), so it's state
can be maintained in the application itself (in variables, etc.) in the
browser.  You can also save/restore that state using cookies/local storage.
For security, you simply need to authenticate *every* request that comes
into the back-end web application running on the web server.  EWB datasets
do this via two custom headers that are passed on to the back-end database
for login/authentication.

<< Angular2017 JS >>

Forget Angular.  Using Angular with an EWB application is like trying to use
the VCL with .NET (or vice-versa).  EWB already manages all/most of the
stuff that Angular does.  Plus, when you see how EWB 2.x works, you're not
going to want to use Angular anyways. Smile

Tim Young
Elevate Software
www.elevatesoft.com


Fri, Apr 11 2014 10:02 PMPermanent Link

Gerald J. Clancy, Jr.

Sorry for the delay, Matt. The in-house server is mostly serving up some
static HTML pages but mostly HTTP requests to ISAPI .DLLs (our apps). The
apps accept the user parameters from our forms and respond with the desired
report in either Word, HTML or PDF format that open tyoically in new
windows. Fast and efficient but no source and I would like to be able to do
some front-end filtering of requests (throwing away bot requests, for
example). Don't use XML or JSON and not even AJAX asynch stuff as I've found
it a bit of a problem in D5. Some client-side controls would be useful but I
can live without them. The plan, time allowing, was to move to Apache
in-house at some point and also add SSL at that time. Have my hands full,
though, at the moment (a continuing condition).

Jerry

"Matthew Jones" <matthew@matthew-jones.com> wrote in message
news:memo.20140408134605.7840K@nothanks.nothanks.co.uk...
>> 1. Many of you mentioned the RemObjects SDR and server. I currently
>> use an old but small and fast server process that has served me
>> well (and supports ISAPIs), but I really need to replace it, so I
>> would welcome further input on how to go about that.
>
> What is your server actually doing? It may not need replacing, perhaps
> just
> enhancing. How does it deliver its services to the clients? Is it plain
> HTTP
> serving? Or XML or JSON? (Hmm, if old, JSON is unlikely.)
>
> Anyway, I use the RemObjects SDK as a Windows Service, and the http/s
> channel does
> "vanilla" http serving from a folder too. Thus you can use it as the web
> server,
> and it can offer the smart services too. You can use it as an ISAPI DLL
> too, but
> I've always shied away from IIS etc so I don't know how well that works.
> This like
> implies it is fairly normal:
> http://wiki.remobjects.com/wiki/Smart_Project_-_Creating_Scalable_Smart_Service_(Del
> phi)
>
> The key is that you might be able to do a new ISAPI service that sits
> alongside
> your existing one, and accesses a common database or other system. It's
> hard to
> know without details.
>
> I've been talking to someone else on this, and I must blog about a few
> aspects that
> I think are useful to know.
>
> /Matthew Jones/
Fri, Apr 11 2014 10:39 PMPermanent Link

Gerald J. Clancy, Jr.

Thanks, again. I wouldn't have trouble with adapting to an SPA app, now
increasingly common on smartphone apps. We adopted the "new window" model
for reports because of constraints imposed by IW and we didn't want to embed
reports within the current session page. We already use cookies to some
extent, so no problem there. And, if I understand you correctly, the single
page, though changing in content, also serves as a global app container for
variables. In IW vars don't cross form boundaries, so if you want to share
across forms the vars must be defined and maintained in the global user
session unit (or stored in the new form by the calling form after creating
the new form and before handing it control by essentially committing
suicide -- guess that would be formacide). The EWB model is much simpler.

Nota bene on the Angular comments.

Jerry

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:6ADFE651-E063-48D2-B8C4-27A7809538B3@news.elevatesoft.com...
> Jerry,
>
> Just a quick note on a couple of things:
>
> << 2. Related to that, if not ISAPIs, what do you generate to the server,
> cgi files? I would love to dump IW and just use native IDE or TMS
> components and dispense with the complexity of debugging, etc. The impact
> to code would be minimal. Does RemObjects handle session control and
> separate database instances by user? I intend to check it out. >>
>
> With EWB applications, you really don't need session control anymore.  An
> EWB application is inherently a single-page application (SPA), so it's
> state can be maintained in the application itself (in variables, etc.) in
> the browser.  You can also save/restore that state using cookies/local
> storage. For security, you simply need to authenticate *every* request
> that comes into the back-end web application running on the web server.
> EWB datasets do this via two custom headers that are passed on to the
> back-end database for login/authentication.
>
> << Angular2017 JS >>
>
> Forget Angular.  Using Angular with an EWB application is like trying to
> use the VCL with .NET (or vice-versa).  EWB already manages all/most of
> the stuff that Angular does.  Plus, when you see how EWB 2.x works, you're
> not going to want to use Angular anyways. Smile
>
> Tim Young
> Elevate Software
> www.elevatesoft.com
>
>
>
Mon, Apr 28 2014 10:38 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jerry,

<< Thanks, again. I wouldn't have trouble with adapting to an SPA app, now
increasingly common on smartphone apps. We adopted the "new window" model
for reports because of constraints imposed by IW and we didn't want to embed
reports within the current session page. >>

Just to clarify - you don't need to embed reports in a "current page".  You
can still tell the browser to launch a link to the report content URL in a
new window, or just simply use a different form in EWB to host a TPage
control that hosts the new report URL.  The only thing you *don't* want to
do is to tell the browser to navigate away from the application URL from
within the same browser window.

<< We already use cookies to some extent, so no problem there. And, if I
understand you correctly, the single page, though changing in content, also
serves as a global app container for variables. In IW vars don't cross form
boundaries, so if you want to share across forms the vars must be defined
and maintained in the global user session unit (or stored in the new form by
the calling form after creating the new form and before handing it control
by essentially committing suicide -- guess that would be formacide). The EWB
model is much simpler. >>

Yep. Smile

Tim Young
Elevate Software
www.elevatesoft.com
Image