[Mono-list] Client/Server and exporting to spredsheets

Rafael Teixeira rafael.teixeirabr at terra.com.br
Thu Jan 25 13:29:04 EST 2007

Hi Paulo,

On Tue, 2007-01-23 at 10:44 +0000, paulomorfeo at portugalmail.pt wrote:
>   Hello, again. Long time since i stoped monitoring these lists. Actually, i
> still don't, so please CC/BCC mail me any response as well.
>   I am writing a portable aplication for mono and i need to do 2 things.
>   1- Export spredsheets into excel and OpenOffice (odt?). Any info or tutorials
> on how to do that? That would suposedly be easy and comon to find, but i haven't
> found info about that. Surely there must be some tutorials/docs out there that i
> haven't found and someone can point to me!?

I started the search for a managed library to write openoffice files
some time ago, but all the ones I've found aren't good enough. Some java
libraries fare better and also suport MS formats, so maybe compiling
them with IKVMC to make them run in Mono can yield better results, but I
can't report any further as I had to stop the work in that front.

>   2- I want clients to access a database server, but, to improve security, i
> want a server aplication to run on that machine, serving as a middle-man,
> controling access. This will allow the database server to not be accessible to
> the outside.
>   It will also allow me to secure the connections between this server and the
> clients, right? What technologies should i use in mono for that?
>   All i found has been examples for ms.net and examples of remoting (not
> accessible in mono!?), 

Who said that? Remoting is fully working on Mono, but you need to be
careful of serialization pitfalls in either binary and xml channels.

> and sockets/TcpClients. Those, only allow me to send
> bytes making it extremely hard to send/receive the data i gathered from the DB
> to the clients.

Yes, these are low-level APIs, just to make us able to implement higher
level protocols.

>   Isn't there another way to comunicate with clients from a server aplication,
> where i can request and send, for example, a full DataSet object into the
> clients (preferably in a secure way)? 

If secure communication is needed standard remoting is not a choice.

> I think WebServices allow something
> similar, at least, but that works on top of ASP.NET, right? Meaning i would need
> a web server runing mono. 

Yes, but depending in your needs you can just embed our library in your
application (the same that runs the core of our xsp server and our
mod_mono module for apache).

> It would be preferably to not need that, that is, if
> WebServices really do what i asked for.

To do what you want (send datasets back and forth) it solves your
problem nicely, except for performance.

In truth sending Datasets either in xml or binary form over the
Internet, is just a bad idea, as they carry to much overhead (bloat).

You should architect your solution to send partial (on demand) packets
of information, to easy of on performance/scalability matters.

Just an example: Years ago I've been able to reduce to 1/7 of the
original size my xml packets, containing hundreds of real-time graph
data points, just by returning them as arrays of structures (correctly
tagged with .NET attributes to serialize in xml in a very compact form)
instead of as a dataset.

I think Web Services is the way to go, for your project, as it can be
carried over https, or can even use xml encryption.

Also depending on your time-frame, the project olive (.NET 3.0 for mono)
may help you as it progresses its implementation of WCF.

>   I'm sorry if these questions are easy to find but i haven't found them. I only
> have sporadical access to the Internet, greatly limiting my search capabilities.

Answers to these questions aren't still really easy to find as they
sometimes hide behind such buzzwords like "distributed systems", SOA,
WCF, etc...

>   Thanks for any help.

Hope it helps,

Rafael Teixeira <rafael.teixeirabr at terra.com.br>

More information about the Mono-list mailing list