= !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.0)|| ||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. == Proposed Solution == This not a solution targeting any specific segment of MG, although it may become one. It's rather both pointer and helper for .NET developers developing custom solutions for server apps based on MG (using ASP.NET 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. == 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 == Funding/Resources == TBD