Jump to content

Implement server - choice of platform and authentication?

- - - - -

  • Please log in to reply
2 replies to this topic

#1
svante

svante

    Newbie

  • Members
  • Pip
  • 1 posts
Hi.

I am developing a client-server application in my spare time. Can anyone help me with suggestions:
  • What implementation platform/language to use.
  • How to authenticate the users.

About me
  • I am from Sweden :-)
  • I prefer a Linux server.
  • I know Apache, Perl, some RubyOnRails, C/C++, C#, JavaSE, Java Servlets, JavaEE (some old knowledge), MySQL, XML.
  • I don't know so much about: SOAP, AJAX, Spring, WebServices, Microsoft products (except Visual Studio and Windows)

The server
Needed actions:
  • add/remove users: [name, password, access-rights, user details, current status]
  • authenticate user
  • change user record details
  • receive files: store in users area, and commit. 3-100 files in a named "file-collection"
  • send user his own user-details
  • send user a listing of file-collections (own or other users)
  • send user a file-collection
  • report to admin e.g. "bad behavior"
  • report to user e.g. weekly activity or mail confirmations
  • scalable up to 500 users

Suggestions:
  • LDAP.
  • MySQL for users data.
  • MySQL for files uploaded by user (too much probably).
  • User records in files.
  • Uploaded user files stored as files.
  • Client-server communication with SOAP.
  • RubyOnRails for server implementation.
  • Java Servlets for server implementation.
  • JaveEE, ejb 3.0 for server implementation (user records as entity beans).
  • Apache and mod_perl.

The clients
Today no client has any network interface. List of clients:
  • Windows client, in C# and C++ (ready)
  • iPhone client, in Objective-C and C++ (started)
  • Mac OS X client, in Objective-C and C++ (future goal)
  • Android client, in Java (future goal)


/Svante

#2
liamzebedee

liamzebedee

    Programmer

  • Members
  • PipPipPipPip
  • 129 posts
For authentication of users you should use some sort of digital signature (like an RSA signature). The program should contact the server by HTTPS as it is more secure.

#3
N4G

N4G

    Newbie

  • Members
  • Pip
  • 2 posts
Platform: Linux is prefered. Most of people running on Linux. Windows Server 2008 license price is around 800usd so Linux platform can help somebody to save some money.
However there is a luck of good IDEs for Linux ( as for me ) so I would like to start on Windows and then port the things to Linux after have server working.

Lenguage: C++

Authtification: it depends on your product, under what kind of license are you going to disrtribute etc. There is OpenSSL lib - but again it makes you GPL. If you are willing to ellaborate and be independent (which is important) you can implement some key exchange protocol , hook encription and signatures.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users