Hello Marco, I'm sure your thinking like this: look at it from the customer's point of view. They will view the s/w as a means to a enabling them to get their product to the consumer more cheaply or quickly or to allow them to reach more consumers.
From that viewpoint here's a few points to consider:
- is Xquery easy to learn and use? - is it cheap? - is it secure? - is it faster? - does it scale? - how difficult is it to port what we have to using Xquery? - is it easy to maintain?
As Dirk says below you also should point out the XML database products exist and are relatively mature with good support. Business people are risk-averse when it comes to tools required to build their product (unless the new tool offers such a compelling advantage that the risk is worth taking).
It may be worth demonstrating that a novice user was able to get some Xquery example up and running in a short time. Or, showing some demo that is a mock-up of some component of their system and describe how long it took to put together (perhaps compare with a similar approach with another s/w).
hth adil
On Fri, Feb 24, 2017 at 07:55:25PM +0330, Dirk Kirsten wrote:
Hello Marco,
I think Max is spot on, that the main objection of business people is that XQuery is not exactly mainstream stuff. Nobody will be questioned if you buy Oracle and your project in the end fails - Hey, you bought the established market leader, what could go wrong? But you use a relatively unknown, open source database (BaseX comes to mind...) and the project fails - Hey, everyone will criticize this decision, for sure.
However, to at least decrease the fears it might be worth mentioning the standardization efforts and open source software involved:
XQuery, XPath, etc.pp. are all W3C standards
There are several XQuery implementations (BaseX, exist-db, MarkLogic),
so even in the case your platform in the end might not be maintained anymore you might be able to change to another implementation
- Functional languages are quite "in" at the moment (look at the success
of Haskell, Clojure, Scala, Erlang, ...). With XQuery being also a functional language it is quite easier for those developers also to grasp XQuery. So you should have an increasing number of at least potential XQuery developers
- Using BaseX (or exist-db) as your XQuery processor you use open source
software, which has several business benefits (e.g. decreased risk of vendor lock in)
- Using BaseX (or exist-db) you can get get commercial supports from the
companies behind these open source tools. For some reason, business people love to buy commercial support...
I hope you can convince them - Wish you all the best
Dirk
On 02/24/2017 06:06 PM, Marco Lettere wrote:
Hi guys, thank you all so much for the great feedback. This one in particular feels like a crucial point and it's why I'm currently collecting all possible feedback also from students, stagers and other technicians that are somehow representative of entry-level to basic staff. Nice to see that people with fresh minds are extremely positive about the simplicity and the productivity of XQuery even if confronted with non XML specific use cases! Marco.
On 24/02/2017 15:25, Adil Hasan wrote:
Hello Max,
I think business decisions follow that path to avoid ending up in a niche area where it would be terribly difficult to employ a replacement once a/the developer has left. Perhaps also pointing out that there are standards and perhaps that it's not too difficult to learn would help to allay fears?
hth adil
On Fri, Feb 24, 2017 at 03:06:59PM +0100, Maximilian Gärber wrote:
Hi,
I really like this thread! Keep the arguments coming! ;-)
I am not saying that XQuery is just another query language. But if somebody (who has never heard anything about XQuery) is asking about your technological choice then telling them that XQuery is so special and unique is counter-productive.
Because business decisions are always the same when it comes to technology: they want this warm and fuzzy feeling that you are running on mainstream stuff.
Br, Max
2017-02-24 12:56 GMT+01:00 Hans-Juergen Rennau hrennau@yahoo.de:
To put it mildly, I disagree. I think the greatest mistake one can make is call XQuery a query language. I prefer to say that it is an information language. If this appears to be an incomprehensible statement, this reflects the novelty of the concept of an "information language". A book should be written about it. Which points to my ...
second disagreement, which concerns your statement that there is nothing special about XQuery. I think XQuery is unique, as it is (or am I wrong?) the first and only general-purpose programming language which is a pure expression language built upon the ground of a value model centered in the concept of resources composed of globally addressable, interrelated information (i.e. nodes).
With kind regards, Hans-Jürgen
Maximilian Gärber mgaerber@arcor.de schrieb am 21:36 Donnerstag, 23.Februar 2017:
Hi Marco,
from my experience, the best way to handle these types of arguments is to make clear that there is nothing 'special' about XQuery. It is a query language.
If you have to compare BaseX to something that most Java developers will know, I'd use Hibernate and HQL, a library and DSL that is all about querying data(bases).
For C# developers, LINQ would probably ring a bell.
Of course there is a lot more to it, and when it comes to web applications, you can use it in almost every layer (templating, routing, storage, etc).
Regards,
Max
2017-02-22 13:43 GMT+01:00 Marco Lettere m.lettere@gmail.com:
Hi to everyone,
probably this is not the right place for such a discussion but the BaseX communitiy is the one I'm better introduced to and the one I trust the most. So I hope that this somewhat unusual excursus will anyway be of interest to some of you.
As for myself I fell in love with XQuery and its power in terms of data manipulation many years ago. I wouldn't change it with anything else and BTW we're using it (thanks to the incredible BaseX runtime) much beyond data-processing being it the backbone of all our micro-service oriented architectures.
Now, to the point, in the near future I probably will be called to face a somewhat skeptical customer who will argue about the technological choice of XQuery.
My point will be to make a comparison with the technologies they're currently using and I would like to demonstrate that for a rather XML- (and in general data-) intensive workflow XQuery is perfectly suitable and probably better than many other alternatives.
I would tend to exclude XSLT because it would face similar opposition. I would also exclude languages at a lower level of abstraction like Java, Python, Javascript, C/C++ and so on for obvious architectural reasons.
But then only templating languages/engines come to my mind. Those would still be probably novel technologies to learn and wouldn't offer the structural, syntactic and semantic power of XQuery anyway.
So I ask you kindly, in order to complete my preparation on these matters, is there anyone that has experience with other tools or languages that can be compared with XQuery when used for XML querying, generation, transformation, templating, composition and so on?
Thanks a lot!
Marco.
-- Dirk Kirsten, BaseX GmbH, http://basexgmbh.de |-- Firmensitz: Blarerstrasse 56, 78462 Konstanz |-- Registergericht Freiburg, HRB: 708285, Geschäftsführer: | Dr. Christian Grün, Dr. Alexander Holupirek, Michael Seiferle `-- Phone: 0049 7531 91 68 276, Fax: 0049 7531 20 05 22