= !MapGuide RFC 41 - .NET boilerplatte and samples for building web services (MgServerExtensions) = This page contains an change request (RFC) for the !MapGuide Open Source project. More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. == Status == ||RFC Template Version||(1.0)|| ||Submission Date||(Date/Time submitted)|| ||Last Modified||Maksim Sestic [[Timestamp]]|| ||Author||Maksim Sestic|| ||RFC Status||draft|| ||Implementation Status||under development)|| ||Proposed Milestone||(2.1)|| ||Assigned PSC guide(s)||(when determined)|| ||'''Voting History'''||(vote date)|| ||+1||Bob, Andy, Haris|| ||+0||Paul|| ||-0||Tom, Bruce|| ||-1||Jason (troublemaker)|| == Overview == Simple .NET wrapper over existing managed MapGuide API. Enables easier access to resources and repositories, also including some additional functionality. Includes samples for building and consuming web services. == Motivation == Present managed wrapper doesn't help much when it comes to accessing MG's resources and repositories - up to the point where developers need to parse XML files manually, since there's no way of managed serialization/deserialization of underlying unmanaged types. Except for that, proposed managed API (dubbed "MgServerExtensions") offers some additional functionaliy not originally found within MG API: tile cache management, creating PDF documents from ready-made templates, samples of exposing and consuming custom web services, etc. I also need a feedback on usability of proposed API when it comes to .NET developers. == Proposed Solution == This solution doesn't target any specific segment of MG, although it may become one. It's rather both pointer and helper for .NET developers developing custom client/server solutions based on MG (using ASP.NET and/or AJAX.NET). MgServerExtensions may serve as a separate component to MG, similar to MGE's "Web Server Extensions". Installer part still TBD, but this is a lesser problem. See attached MgServerExtensions API help. == Implications == There are no backwards compatibility issues. == Test Plan == MapGuide Server: MGE 2008 - passed / MG Open Source - TBD Server: Windows (IIS, .NET) - passed / Linux (Apache, Mono) - TBD Client: ASP.NET - passed / PHP - passed / Java - TBD == Funding/Resources == TBD