BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

RTC remoting > Explained in 11 minutes
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Thirdparty Tools (General)
View previous topic :: View next topic  
Author Message
Danijel Tkalcec
Guest





PostPosted: Sat Jun 24, 2006 4:50 pm    Post subject: RTC remoting > Explained in 11 minutes Reply with quote



Writing RTC remote functions, explained in 3 minutes:
http://www.realthinclient.org/forum/?cmd=viewtopic&topic_id=9&section_id=11

Calling RTC remote functions, explained in 8 minutes:
http://www.realthinclient.org/forum/?cmd=viewtopic&topic_id=10&section_id=11

For more visual RTC SDK lessons, visit:
http://www.realthinclient.org/forum/?cmd=viewsection&section_id=11

For an informative FAQ about RTC SDK, visit:
http://www.realthinclient.org/forum/?cmd=viewsection&section_id=1

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.org
Back to top
Danijel Tkalcec
Guest





PostPosted: Sat Jun 24, 2006 5:03 pm    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote



More Articles related to RTC remoting ...

RTC Remote Functions - working with flexible structures:
http://www.realthinclient.org/forum/?cmd=viewtopic&topic_id=24&section_id=1

<quote>
You can form your structure as simple and as complex as you want. RTC uses
highly flexible format, so that you can define virtually any structure you
want, even call remote function which will call other remote functions to
get parameters. You can store multiple values in each element by using
newRecord, newArray or newDataSet.
</quote>

Transfering Stream Data using RTC Remote Functions:
http://www.realthinclient.org/forum/?cmd=viewtopic&topic_id=33&section_id=1

<quote>
You can send streams with remote functions (limited length, since all data
has to be kept in memory while sending and receiving) by using newByteStream
to create the in-memory Stream, then using asByteStream (this is a
TMemoryStream) to read/write data from the stream.

If you have components which write to a memory stream, you can pass
“asByteSteam” as a parameter to those components methods/functions, so they
can directly fill their content into the stream. On the other side, when the
stream arrives, you can use “asByteStream” to access the data received.
</quote>

Creating DataSet Fields for RTC Remote Functions:
http://www.realthinclient.org/forum/?cmd=viewtopic&topic_id=34&section_id=1

Using Sessions in RTC Remote Functions:
http://www.realthinclient.org/forum/?cmd=viewtopic&topic_id=18&section_id=1

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.org
Back to top
Chris
Guest





PostPosted: Sat Jun 24, 2006 10:49 pm    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote



I have seen these components advertised here quiet a lot (and followed the
often passionate discussions <g>) but never really thought I would need to
use them.

I then wrote a webservice using the default components in BCB and had all
manner of problems, I had header conflicts with other third party components
when adding the Borland webservice client component, so I had to write a
DLL, then it failed a lot with obscure errors about handles being in the
wrong state, and I was just about to give up and remove the new feature from
my app when I happened to see one of Danijel's posts and it reminded me of
the RTC SDK.

I had a look out of desperation really and then tried the free version, and
with a little bit of help I had totally replaced my web service with a RTC
remote function and also got rid of my DLL. The remote function was also
much faster then the webservice.

I then (again with only a little bit of help), managed to convert the remote
function into an ISAPI extension that now runs against Apache.

I would never have managed all of the above (it only took a few hours spread
over a couple of days) without Danijel's components or his assistance.

I would also like to say that the support I received (both before I
purchesed and after - even though I bought the cheapest option) was fast,
comprehensive and polite.

I have (this morning) written another ISAPI extension (again using the RTC
SDK) and I had it finished in 30 minutes, truly amazing IMHO!

Chris F
Back to top
Danijel Tkalcec
Guest





PostPosted: Sun Jun 25, 2006 2:13 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

RTC SDK comes with a number of ready-to-run Demos/Examples.
Here are only a few ...

1) RTC WebServer is a complete Web Server (capable of serving anything you
put inside it's folder). It also includes a fully functional Messenger
Server (runs with the RTC Messenger Client - available for free download)
and has the possibility to execute server-side PHP scripts (PHP5 has to be
installed and set up). You can download the RTC Web Server here:
http://www.realthinclient.org/download.htm

2) RTC Web Forum is a complete HTML Forum written with RTC SDK. You just
have to download it, unpack it, start the exe and point your Browser to
Server's address ( http://localhost - if you run the Browser and the Server
on the same PC). You can download the Forum from the "Licensed Users:
Download Area", which is powered by the same Forum (we are using the RTC
Forum to build our knowledge base and offer developer support):
http://www.realthinclient.org/forum

3) RTC FileClient is a demo client which can be used against any HTTP Server
(like the RTC WebServer or any other RTC Server) to download files of any
size. You can download the FileClient here:
http://www.realthinclient.org/download.htm

4) RTC Messenger Client is the client for the RTC Messenger (comes embeded
in the RTC WebServer and as a separate Server), which uses RTC remote
functions for communication. Messenger Client and Server are available for
download here:
http://www.realthinclient.org/download.htm

You will see a few more demos on RTC Download page, but there are even more
demos included in the RealThinClient SDK package (with full source code in
Delphi). A number of Demos are also included in the Open Source GPL package,
which can be downloaded here:
http://www.realthinclient.org/order_sdk.htm

If you need assistance testing the demos, feel free to contact me diretly at
info (AT) realthinclient (DOT) org or post your question(s) to the RTC Forums
(Pre-sales questions).

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.org
Back to top
Danijel Tkalcec
Guest





PostPosted: Sun Jun 25, 2006 2:42 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

Btw ... www.realthinclient.org is running on a RTC WebServer (not Apache or
MS IIS).

In other words, when you go to www.realthinclient.org , all the pages and
images are sent to your Browser by the RTC Web Server, running as a Service
on Windows. When you go to www.realthinclient.org/forum , your Browser is
really communicating with an application written in Delphi, built using only
the RealThinClient SDK.

RealThinClient SDK components were extensively tested and are being used in
a number of 24/7 scenarios World-wide. Check RTC SDK Test Results here:
http://www.realthinclient.org/tests.htm

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.org
Back to top
Donald Shimoda
Guest





PostPosted: Sun Jun 25, 2006 5:00 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

Danijel Tkalcec wrote:

Quote:
Btw ... www.realthinclient.org is running on a RTC WebServer (not
Apache or MS IIS).

In other words, when you go to www.realthinclient.org , all the pages
and images are sent to your Browser by the RTC Web Server, running as
a Service on Windows. When you go to www.realthinclient.org/forum ,
your Browser is really communicating with an application written in
Delphi, built using only the RealThinClient SDK.

RealThinClient SDK components were extensively tested and are being
used in a number of 24/7 scenarios World-wide. Check RTC SDK Test
Results here: http://www.realthinclient.org/tests.htm


Daniel,
Great Stuff.
How it compare with competence (bye xample with
RemObjects/DataAbstract pair) ?

TIA
--
Donald.
Back to top
William Egge
Guest





PostPosted: Sun Jun 25, 2006 6:59 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

Is what you created a web service?


-Bill
Back to top
William Egge
Guest





PostPosted: Sun Jun 25, 2006 7:07 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

Danijel,

What did you use to create that animation thing?
Back to top
Chris
Guest





PostPosted: Sun Jun 25, 2006 8:11 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

My initial code was a true web service yes, but it was extremely problematic
and I couldn't find any info from Google, nor were my questions in the NGs
answered.

I initially replaced it with an RTC webserver to which I had added a remote
function that did everything that my webservice did. However I was using an
obscure port (16600) and really wanted to use port 80, but I have Apache
running on that port. So I converted my remote function (which essentially
meant dropping two RTC components on my data module) and then converted it
to an ISAPI dll which now runs in Apache and again replaces the
functionality of the initial webservice.

As a last point, the ISAPI extension (and the remote function for that
matter) return a rather complex data structure that I thought I might have
problems with, in fact the implementation that Danijel has provided made
returning the data an absolute breeze and I also don't have to worry about
interfaces and GUIDs anymore.

I know that Danijel is going to be releasing a webservice beta soon (well it
says this on his forum) for those that still need a webservice with the WSDL
bits.

I am not an expert with threads so my initial implementation (where I used
the webservice) used to give the appearance of my app hanging while it
waited on the webservice, Danijel's components seamlessly (and pretty much
transparently) add client side multi threading (if you want it) and as an
added bonus my app no longer looks like it has frozen.

I hope this helps

Best regards

Chris F

"William Egge" <begge (AT) eggcentric (DOT) com> wrote in message
news:449dede5$1 (AT) newsgroups (DOT) borland.com...
Quote:
Is what you created a web service?


-Bill


Back to top
Danijel Tkalcec
Guest





PostPosted: Sun Jun 25, 2006 11:51 pm    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

"Herbert Sitz" wrote:
Quote:
I understand it's different. What I'm curious about is the extent to
which
its functionality is similar to other products.

The closest to a "comparison" I can offer is a short RTC SDK description:
http://www.realthinclient.org/about_sdk.htm

Quote:
The question I'm wondering about most is what support RTC has for database
backends.

You use any components you want for database back-end. Since you can
send/receive records, arrays, datasets and streams, there is no limitation
about how you can pack your data up for sending.

Quote:
I understand that you could return a dataset from a server
function in RTC. But that is pretty much just the bare minimum that I'd
want for making a middleware server for business applications. The kbmMW
and RO/DataAbstract frameworks have functionality that goes far beyond
just
returning datasets, for example automatic "resolving" of dataset changes
on
clients back to the db and much more. Does RTC have any of this advanced
database functionality? Is it planned for RTC? Exactly what is planned?

RTC SDK can be used with any ClientDataSet, which will handle all the
"resolving" on the client-side and ... you can use RTC SDK for all
communicating between your clients and your Server. Since you can
send/receive any structure with RTC remote functions, you can use any
components you want on the client-side *and* on the server-side.

Since all the "advanced hard work" is handled by ClientDataSets and there
are a number of good and freely available ClientDataSets out there (all of
which can be used with the RTC SDK), I don't see what other "advanced
features" an N-Tier database Server needs.

But, I guess you are looking for something like RTC Database components ...

<quote from my previous post>
Generally speaking, RTC Database components will have a "ServerDatabase"
component to work as a database provider talking to your Database, and ... a
"ClientDatabase" component which will communicate with the server and work
with client-side TDataSet components. To the most part, working with RTC
Database components will be comparable to using other similar N-Tier
products.

Even though I can't go into more details before we have the first version
out, there will be detailed explanations with demos and quick-start examples
once components are released - in September.
</quote>

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.org
Back to top
Kevin Powick
Guest





PostPosted: Mon Jun 26, 2006 12:48 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

Herbert Sitz wrote:

Quote:
The kbmMW and RO/DataAbstract frameworks have
functionality that goes far beyond just returning datasets, for
example automatic "resolving" of dataset changes on clients back to
the db and much more. Does RTC have any of this advanced database
functionality?

I've used the RO SDK (RO) since beta 1.0. I haven't used the Data
Abstract (DA) product, but I am pretty familiar with how it works.

RO is a great product. No doubt there. However, I find it becoming
more and more complex to fully understand and use correclty. DA is
even more daunting.

Personally, I like the simplicity of the RTC SDK, how it keeps you
"close to the metal" of Delphi, and gives you lots of flexibility and
power.

RO/DA has the complexity of the service builder, schema modler,
interface generation, RODL, etc. Updating an existing RO project can
be a pain as well.

I still like and use RO, but I find myself jumping to the RTC SDK more
often these days. It seems like I can get the same things done, in
less time, with less complexity.

In the end, you probably can't go wrong with RO/DA, RTC, or kbmMW. It
will most likely come down to project requirements and personal
preference.

--
Kevin Powick
Back to top
Jerry Hayes
Guest





PostPosted: Mon Jun 26, 2006 2:33 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

Quote:
I understand it's different. What I'm curious about is the extent to
which
its functionality is similar to other products.

The question I'm wondering about most is what support RTC has for database
backends. I understand that you could return a dataset from a server
function in RTC. But that is pretty much just the bare minimum that I'd
want for making a middleware server for business applications. The kbmMW
and RO/DataAbstract frameworks have functionality that goes far beyond
just
returning datasets, for example automatic "resolving" of dataset changes
on
clients back to the db and much more. Does RTC have any of this advanced
database functionality? Is it planned for RTC? Exactly what is planned?

Herbert,

They do have a roadmap on their main page.

I'm looking to try it out on some simple things and then evaluate from
there. Some of the things that are different to me are that it's a lighter
weight framework.

It doesn't create stub procedure and interface sections like RO. I don't
*believe* the client even has to have any enforced knowledge of the server's
procedures, but can call them by name, on the fly. Pseudo: NewProc("abc");
Param("123").AsDateTime:=... and then call it.

The strictly enforced RO framework isn't there, but you can create functions
that can evolve between versions; check for the presence of a passed
variable, if it's not there, then react differently because you may be
connecting to an older server. Pluses and minuses; for single developers or
small teams the dynamic nature may be a plus; larger teams would certainly
want the more formal structure.

Based on Roadmap, it looks like it's evolving into a less structured RO,
with more formal db connectivity to come and IntraWeb-like stuff coming as
well. My take on their roadmap. Oh, and main functionality is non-blocking
sockets, (but threaded handling), I think based on Piette's.

HTH,

Jerry
Back to top
Danijel Tkalcec
Guest





PostPosted: Mon Jun 26, 2006 4:19 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

"Jerry Hayes" wrote:
Quote:
Oh, and main functionality is non-blocking sockets, (but threaded
handling), I think based on Piette's.

I don't want to completely erase the importance of Piette's work on ICS in
my initial progress with the RTC SDK, but I do want to point out that RTC
SDK is NOT based on Piette's ICS (not even the communication layer). RTC SDK
uses connection components with connection providers, adding an abstraction
layer between the application code (using connection components) and the
low-level transport layer (connection provider).

Even though I've started with the TWSocket class from Piette's ICS in
November 2004 to implement the first TCP/IP connection provider for the RTC
SDK, I've removed more than 50% of the original TWSocket code and modified
the rest, so that now even the WinSock API calls and Windows messaging are
being handled differently to allow a true thread safety in a multi-threaded
environment (internal automatic thread-pooling).

RTC SDK was designed as an event-driven framework to allow easy
implementation of multi-threaded servers and clients, without having to
worry about threads (leave it to the RTC SDK's thread-pooling mechanisms,
which are activated by a single MultiThreaded "switch").

Don't get me wrong. ICS is a great freeware sockets library. But, it doesn't
really compare to RTC SDK, nor was RTC SDK based on Piette's work. Or would
you say that RemObjects was based on Indy if it used Indy as a TCP/IP
transport?

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.org
Back to top
Jerry Hayes
Guest





PostPosted: Mon Jun 26, 2006 4:31 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

Quote:
Don't get me wrong. ICS is a great freeware sockets library. But, it
doesn't really compare to RTC SDK, nor was RTC SDK based on Piette's work.
Or would you say that RemObjects was based on Indy if it used Indy as a
TCP/IP transport?

No offense, Danijel, *believe* me I know there's a huge amount of work
there.

That's what I get for adding an, "Oh, and I think.." to the end of a long
post! Wink
Back to top
Danijel Tkalcec
Guest





PostPosted: Mon Jun 26, 2006 4:58 am    Post subject: Re: RTC remoting > Explained in 11 minutes Reply with quote

"Jerry Hayes" wrote:
Quote:
No offense, Danijel, *believe* me I know there's a huge amount of work
there.

That's what I get for adding an, "Oh, and I think.." to the end of a long
post! Wink

Yeah. Sorry about that. I've gotten quite sensitive when it comes to "based
on ICS/Piette" footnotes, since some people have tried to reduce my work to
minor ICS modifications in the past and some have attacked me for "selling a
product based on freeware components".

For the sake of an argument ...

RTC SDK 2.0 (currently in beta testing) is about 1.67 MB of pure Delphi
source code (.pas files only), while WSocket_rtc and WSocketBuf_rtc units
(modified versions of TWSocket and TWSockBuff classes from ICS) are about
108 KB. This means that, even if I had used the original ICS units without
doing any changes, "ICS" would make less than 7% of total RTC SDK code.
Since there is now less than 20% of the original ICS code in those units, it
leaves us with something like "1% of RTC SDK based on Piette's ICS".

I hope that explains my "rave" Surprised)

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.org
Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Thirdparty Tools (General) All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.