[Rejected] Platform independent source code for server (1 Viewer)

raffe

Portal Pro
March 28, 2008
256
78
As we now split up into a server and client, maybe it could be a good idea to make the server source code platform independent. Then it would be possible to run the server on 'anything' from different computer OS to NAS firmware.

I know. Now I'm out on uncharted waters, with my incomplete knowledge of the server part, but it could possibly work, right? I understand that the client may be more difficult, but if the server is mostly a database server pointing to files and keeping databases updated, then maybe it could be possible?
 
Last edited:

FreakyJ

Retired Team Member
  • Premium Supporter
  • July 25, 2010
    4,024
    1,420
    Home Country
    Germany Germany
    The server will also act as tvserver. So I would say your suggestion is possible, but only if:
    1) you write your own tv plugin for linux
    2) you don't use mp tv server at all
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    There are other than TV related native dependencies already on the server side. Those could be of course removed / replaced, but first someone should evaluate how much work effort they require (and if there is replacement available in the 1st hand - for example the shares that MP2 server creates are done with a kernel mode driver component which is not a platform independent). On top of that it would require C# code to be run on Mono, which probably has it's own quirks as well (it probably wont support latest .NET versions etc.).

    When ever you talk about multi platform development you can easialy multiply the workload with two, there is just too much things that are always done a bit differently on different platforms.
     

    raffe

    Portal Pro
    March 28, 2008
    256
    78
    I don't use TVserver, so maybe its different to me. To me it's more important with a platform independent database server. I have 1700+ movies and 200+ TV series with 4000+ episodes that I don't want to loose sync with, so with platform independence I can backup and transfer the database with more ease. But I hear you, I get there are problems. We would maybe get a client part, TV server part, MP server part and a database part. So maybe if we separate the database part as a own entity, and have the TV server and the others as an own part, then the database could be platform independent? Then it would be more modular. That way to have a platform independent database server would not be that bad? I could easily have two redundant fail over databases to ease my mind. The rest of the MP could talk with the database server with IP and SQL calls and there would not be any difference on where the database is. And maybe that will open the way for platform independent versions of the other parts in the future?
     

    MJGraf

    Retired Team Member
  • Premium Supporter
  • January 13, 2006
    2,478
    1,385
    Hi raffle,
    This is actually already possible with MP2. The MP2 server in its standard installation uses MS SQL CE as database. But you can change the database which is used to store all the metadata easily just by exchanging a plugin. There is already a MySQL plugin developed by Morpheus_xx. With that plugin you can have MySQL on any box in your network on which you can run a MySQL server instance and the MP2 server running on a windows box will use it as its database server.
    Michael
     

    FreakyJ

    Retired Team Member
  • Premium Supporter
  • July 25, 2010
    4,024
    1,420
    Home Country
    Germany Germany
    If someone is interested in the Mono Migaration Report -> see attachment
    The biggest issue is the entinity stuff (but only used for TvServer as fas as I know, but I'm not 100% sure)
    It would be doable but way too much effort for the team right now, but if someone from the community wants to step in ;)
     

    Attachments

    • Reports.rar
      113.9 KB

    raffe

    Portal Pro
    March 28, 2008
    256
    78
    OK, I have now learned from http://www.mono-project.com/What_is_Mono that Mono is "a software platform designed to allow developers to easily create cross platform applications. It is an open source implementation of Microsoft's .Net Framework based on the ECMA standards for C# and the Common Language Runtime".

    And that sounds JUST what I was thinking about :) It sounds like the future :cool:

    The Benefits

    There are many benefits to choosing Mono for application development:
    Popularity - Built on the success of .Net, there are millions of developers that have experience building applications in C#. There are also tens of thousands of books, websites, tutorials, and example source code to help with any imaginable problem.
    Higher-Level Programming - All Mono languages benefit from many features of the runtime, like automatic memory management, reflection, generics, and threading. These features allow you to concentrate on writing your application instead of writing system infrastructure code.
    Base Class Library - Having a comprehensive class library provides thousands of built in classes to increase productivity. Need socket code or a hashtable? There's no need to write your own as it's built into the platform.
    Cross Platform - Mono is built to be cross platform. Mono runs on Linux, Microsoft Windows, Mac OS X, BSD, and Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone. It also runs on x86, x86-64, IA64, PowerPC, SPARC (32), ARM, Alpha, s390, s390x (32 and 64 bits) and more. Developing your application with Mono allows you to run on nearly any computer in existance (details).
    Common Language Runtime (CLR) - The CLR allows you to choose the programming language you like best to work with, and it can interoperate with code written in any other CLR language. For example, you can write a class in C#, inherit from it in VB.Net, and use it in Eiffel. You can choose to write code in Mono in a variety of programming languages.
     

    FreakyJ

    Retired Team Member
  • Premium Supporter
  • July 25, 2010
    4,024
    1,420
    Home Country
    Germany Germany
    Jup
    but doesn't change the fact that we don't have the resources ;) so if you want that go ahead :p
    we are open source ;)
     

    raffe

    Portal Pro
    March 28, 2008
    256
    78
    Last edited:

    Users who are viewing this thread

    Top Bottom