100 likes | 208 Views
Deploying mono in the real world: a case study. Daniel Chait Partner 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#.
E N D
Deploying mono in the real world: a case study Daniel Chait Partner Lab49, Inc. 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. 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? 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) Lab49, Inc.
How it turned out 1/3 • Date parsing/formatting: 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 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 Lab49, Inc.
Some statistics • Find in mono-1.1.8 *.cs : • “NotImplementedException” • 650 results in 105 files • “[MonoTODO]” • 3954 results in 622 files 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 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 Lab49, Inc.