Subject | Re: [Firebird-Architect] Re: Services API |
---|---|
Author | Ann W. Harrison |
Post date | 2005-04-20T17:47:37Z |
Roman Rokytskyy wrote:
separate provider under the dispatch code.
not include the services API. That may seem arbitrary and capricious,
but the services code is designed to be layered on the engine, not
embedded in it. The current implementation of the services API mixes
layered code with internal engine calls. That's why it's not currently
in Vulcan.
The suggestion is to make a separate provider that implements the
services API. That restores the layering and gives us a chance to
reduce the amount of conditional code in the utilities.
application are above the dispatch code and will see the API as it now
exists.
conditional bits for creating a standalone application or something that
can be linked with superserver.
let people use it, we need to do something about that.
Regards,
Ann
>Yes, the server implements it, but the local engine does not. It's a
>
> a) Is ServicesAPI part of the Firebird API that server implements or not?
separate provider under the dispatch code.
>No.
> b) Are you going to change the API itself by introducing new calls?
>There are two problems. First is that the Vulcan engine provider does
> So far I do not see any problem with the current solution as far as
> application programmer is concerned:
not include the services API. That may seem arbitrary and capricious,
but the services code is designed to be layered on the engine, not
embedded in it. The current implementation of the services API mixes
layered code with internal engine calls. That's why it's not currently
in Vulcan.
The suggestion is to make a separate provider that implements the
services API. That restores the layering and gives us a chance to
reduce the amount of conditional code in the utilities.
>That's fine. That will still work.
> - if server is accessed over TCP, there is an API (part of wire
> protocol), both JayBird and .Net provider have native implementation
> of this part;
>Yup, and still works.
> - (my guess) same API exists when IPC is used;
>That will also work. All three of those - the servers and the embedded
> - embedded part calls the entry points in the embedded engine, this is
> also an API.
application are above the dispatch code and will see the API as it now
exists.
>More or less. Right now they're typically one piece of code with
> So, do I understand it correctly, that the discussion is about
> internal implementation of the gbak, gsec & co. utilities, whether the
> implementation should use that API or some internal tricks?
conditional bits for creating a standalone application or something that
can be linked with superserver.
> If this is so, isn't it something that should be solved during VulcanRight now Vulcan doesn't support the services API. If we're going to
> development or merge?
let people use it, we need to do something about that.
>None of this will make any difference to Jaybird or .Net
> And if this is so, why nobody cared to implement the separate client
> libraries for TCP and IPC calls that do only what they have to do -
> send data over the communication channel to the server, basically do
> what JayBird and .Net provider already do?
Regards,
Ann