Deploying mono in the real world: a case study

judgedrunkshipΔιακομιστές

17 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

66 εμφανίσεις

16
-
Jun
-
05

Lab49, Inc.

Deploying mono in the real
world: a case study

Daniel Chait

Partner

Lab49, Inc.

16
-
Jun
-
05

Lab49, Inc.

Abstract


A client of ours
-

a global financial services
firm
-

recently asked us to create a simplified
web interface to complement the thick
-
client
app we built them in C#.


The web piece wants to take advantage of
the C# business logic already written,
debugged, and deployed to the desk in.


The
kicker
--

like most firms in their space, they
won't run Windows servers of any kind, for
any reason.

16
-
Jun
-
05

Lab49, Inc.

Business logic to reuse


Stuff we wanted to re
-
use


Date parsing/formatting


String manipulation


Some “straightforward” database queries


Not workflow, just a couple simple asp.net
pages and some logic


Not WinForms/Gtk/etc.


Sounds easy right?


16
-
Jun
-
05

Lab49, Inc.

Deployment scenario

Web Gateway

SSO Infrastructure

All kinds of well
-
supported,

bullet
-
proof,

load
-
balanced,

gatewayed,

firewalled,

mirrored,

backed
-
up web servers

(apache/tomcat)

(our server


with xsp/mono installed)

16
-
Jun
-
05

Lab49, Inc.

How it turned out 1/3


Date parsing/formatting:

16
-
Jun
-
05

Lab49, Inc.

How it turned out 2/3


String manipulation


Can you spot the core dump?



Anchoring regex to start
of string using
\
A is a
Microsoft
-
ism NOT
supported by Mono regex
library. Use ^ and $


However, it doesn’t throw a
NotImplementedException, just a core dump

16
-
Jun
-
05

Lab49, Inc.

How it turned out 3/3


Some “straightforward” database queries


Oracle client not ready for prime
-
time:


Output parameters to stored procs not
supported (can’t get a cursor back)


Reader could not bind to datagrid, schema
(column names) not returned

16
-
Jun
-
05

Lab49, Inc.

Some statistics


Find in mono
-
1.1.8 *.cs :


“NotImplementedException”


650 results in 105 files


“[MonoTODO]”


3954 results in 622 files

16
-
Jun
-
05

Lab49, Inc.

XSP


production grade?


Based on the output from running
XSP server, I would not recommend
deploying it for production systems:

C:
\
program files
\
Mono
-
1.1.7
\
bin>xsp
--
help

XSP server is a sample server that hosts the ASP.NET
runtime in a minimalistic HTTP server

16
-
Jun
-
05

Lab49, Inc.

Questions?


Come work at Lab49 and do cool stuff



Daniel Chait


Lab49, Inc.


(212) 966
-
3468 x112


daniel@lab49.com


http://www.lab49.com