The method Jim suggests allows the DBMS to notify a middle-tier
client of new activity.  mv.NET also has this functionality
built-in using the mvDBRPC class.  Both methods should be
compared - every option has pros and cons.

With mvDBRPC you simply write data to any jBase file with your
normal BASIC code.  A middle-tier .NET process polls for updates.
The polling period is determined by the polling process but is
typically from 1 second (need to be careful about that) to 30
seconds.  The "middle-tier" can be on the localhost or a separate
server, the term simply means it's a communications component.
When data is available on the server, it's extracted at the
polling interval, an event is fired by the mvDBRPC object, and
from there you can do whatever you want.  It looks like the data
is being pushed from the server even though it's really pulled
from the mvDBRPC object running in a non-blocked background
thread.  If you have multiple Excel processes that need access to
this data, they can in-turn poll this middle-tier for updates
unique to them.  Controls need to be in place to ensure all
clients get all data required - this is the sort of stability
that message queuing provides.  However, mvDBRPC will allow a
*nix server to push out data (and requests for data) and you
can't do this (easily) with message queues.  Again, each method
has different merits.

As an example of how mvDBRPC can be used, we use it in all of our
components that:
- make the DBMS call to external web services
- retrieve web pages
- query/update external relational databases
- and push data into Microsoft Outlook

An alternative with other connectivity methods is to use your own
code to poll, but then you need to manage threads and ensure
transactions aren't missed or double-processed.  You really don't
"need" mv.NET at all, it's simply convenient to reduce
development time for these types of interfaces.

Do you _really_ need second by second updates?  That can be
server intensive.  As I believe Jim was suggesting, you can
extract data from jBASE to a middle-tier by whatever method you
choose, and stage it there for query from clients.  Data
extraction from the server should be discoupled from query
processing from clients.  In other words, I don't personally
think every client query should hit the server - but it depends
on how you write the code.

How fast is it?  Minimize the data you're extracting and it
should be OK.  Don't return entire items to the middle-tier and
then parse for required data, only send the data required to the
middle-tier.

Cost?  The cost for mv.NET is tiny compared to that of other
products and compared to the time=money cost of writing your own
components.

NTMS, I won't offer to sell you mv.NET.  I know you're working
with BlueFinity.  But if you need assistance with development and
you are not asking them for services, I will offer to help with
that.

For anyone else - I welcome inquiries for mv.NET, related
components, and services.

For anyone who uses mv.NET in an end-user environement, feel free
to download mvExec - completely free from our freeware site.
It's a simple utility that uses mv.NET to allow you to execute
queries and programs on your jBASE DBMS from anywhere.  No code
required.
remove.pleaseNebula-RnD.com/freeware

Tony Gravagno
Nebula Research and Development
TG@ remove.pleaseNebula-RnD.com

Read about PickWiki:
remove.pleaseNebula-RnD.com/blog/tech/mv/2009/01/wiki1.html


--~--~---------~--~----~------------~-------~--~----~
Please read the posting guidelines at: 
http://groups.google.com/group/jBASE/web/Posting%20Guidelines

IMPORTANT: Type T24: at the start of the subject line for questions specific to 
Globus/T24

To post, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to