[topicmapmail] Web Services
Miles Thompson
mthompson@creditsights.com
Tue, 13 Jan 2004 15:06:55 -0500
> * Miles Thompson
> | Also implicit in this is the concept of a 'topic map server' that
> | acts something like a database server in that it receives queries or
> | updates and returns data. I would be interested to hear if in real
> | applications people made such a 'break' between layers inside their
> | application or if they found it impractical to work like that.
Lars Garshol:
> Not sure exactly what you are asking here. Could you expand?
Uhm.
Well I guess the question is whether an analogy between database server
and 'topic map server' would hold in real world development.
That is, by analogy to the following two step process..
Database query and return of result set..
[Application] --> (SQL) --> [JDBC] --> [Database]
[Application] <-- (Java Result Set) <-- [JDBC] <-- [Database]
Could we instead think of a two step 'Topic Map' process..
[Application] --> (TMQL) --> [WebService] --> [TM Server]
[Application] <-- (XML Results) <-- [WebService] <-- [TM Server]
(and we would also have similar analogies to data insert, data update
etc...)
The question, then, is this. Is this a good way of setting up your topic
map server when actually doing development, or do people using topic
maps in practice see much more closely coupled development being
necessary to do the work, that is opening and manipulating TM objects
and then persisting them. I guess more in the vein of the TM4J API style
approach.
Please forgive me for talking in a vacuum. I am trying to get an idea of
how this all might work before I actually build the thing. It may seem
'backwards' but if I have no idea at all how things might work
architecture wize in practice its kinda hard to plan out the project..
I would be very keen to hear any comments on whether I am just way off
on planet unreality here, or if the (below) are real issues from anybody
with experience building 'real world' TM applications. Anyway where I
can see this analogy breaking down is, well in two ways...
1 - DataSets (aka Java result sets) versus "XML Results"
I guess the easiest way to format results would be in the form of an
"XML Topic Map Fragment". Now, please tell me if I'm wrong, but I get
the idea that XML Topic Map Fragments don't really lend themselves
especially easily to presentation in web pages via XSLT. Perhaps one
needs to first transform standard XTM into some sort of generic
'simpler' XML representation more appropriate for XSLT presentation. Has
anyone experience with XSLT & XTM to report on?
2 - XML Results versus Instantiated Results.
It could be that this whole idea of working in XML Result fragments is
going to be impossible to use, even just for presentation, let along for
update. That is, without the 'type-of' associations and all that sort of
background framework represented in some way (perhaps as a class
hierachy?) maybe the XML data is not 'meaningful' enough to be easily
used. Rather one needs, perhaps, to first read in the XML and
'instantiate' it into a framework of objects and the like. If that is
the case, then uhm I gotta have a representation of Topics and
Associations and such in C# anyway, and I'm kinda wondering if I have
saved myself any effort or not. Maybe I have ?
--
All just random ramblings really at this point, hoping that someone can
see through the murk of my confusion and offer me advice as to how best
to think of this in terms of architectures for building real
applications that display and update a fairly large corpus of TM data.
Miles