Topic: Urgent help regarding a web development project.

Dear all,

I need urgent help regarding a web development project.
I would be very pleased if you can guide me in this regard.

My requirement is as follows.

i need to have a web based project that should also work offline. (also using a website)
its just a small (but sensitive) database of say 100-200 fields and has attachment links to the files that are uploaded on a server.

both online and offline versions have same functionality and modules
all forms same! (can it be just one downloadable software with online-offline modes? to access database? )

end users -- around 50, located anywhere

software when online:
1. the latest database should be download, according to user privileges, locally and should be very secure that no one can open it using tools other than the software. it must also be encrypted? (how?)
2. the local changes that i save in the software should be syncronized to the online database. (how?)
3. core software for report generation etc.

software when offline:
1. according to user privileges, locally i can view/use the downloaded offline data without internet connection.
2. i should be able to save local new records/changes that i add in the software (can be done in a temporary database for syncronization)
3. ?data must be encrypted
4. offline software for report generation etc.

questions:

what is the ideal SERVER side programing language for such a dev project? ASP.NET, VB.NET, PHP, JSP ???
what is the ideal CLIENT side programing language for such a dev project?
what should the ONLINE database and OFFLINE database backend be? MYSQL, MSSQL, ACCESS ???

how should the general structure of callbacks and serverside and clientside software be?
can AJAX help? (like ComponentArt GUI)
are there any third party tools that make working with online-offline apps easier?
how to have minimum fuss for the end user (no complex installations/ no webservers running etc)

how should one secure such apps? locally and online?
also is decompiling such apps possible? how will i know?

--- I WILL BE VERY THANKFUL IF ANYONE CAN GUIDE ME -----

i was planning on using ASP.NET with mysql.....but i dont know about the offline version!


THANKS AND REGARDS

CINGO S.

Thumbs up Thumbs down

Re: Urgent help regarding a web development project.

For the client side it would be best to use a language which is easy to code in because speed will probably not be an issue.  Some possibilities are visual basic or maybe a scripting language like python.  Decompiling is a problem which you cannot stop, why are you so concerned about people doing this, surely if you give them the program you trust them enough to have access to this database so why would they want to extract the data from it?

I think that sqlite would be a good database for the client side since it is small and is designed for things like this where you need a simple database to go with an application.  For communicating between the client and server you might want to use a secure connection using ssl.  I have not tried doing this myself but I don't think it would be too difficult since it is a standard thing.  You would then just send the data in an easy to parse format from the server to the client and vica versa.

There are 10 types of people in this world.  Those that can read binary and those that can't.
www.quantumstate.co.uk
http://www.danasoft.com/sig/Quantumstate.jpg

Re: Urgent help regarding a web development project.

Some possibilities are visual basic or maybe a scripting language like python.


are u suggesting .NET or VB6?

I think that sqlite would be a good database for the client side since it is small and is designed for things like this where you need a simple database to go with an application

 
will i need database servers to be running on the client? will it be stable? i think users will face problems...online support is not available... so things must be minimal.

can i use a serverside mysql
and client side sqllite? for the same application?


thanks jim

Thumbs up Thumbs down

Re: Urgent help regarding a web development project.

what is the ideal SERVER side programing language for such a dev project? ASP.NET, VB.NET, PHP, JSP ??? -- PHP may be the best as it is pretty modular. ASP.NET would require a MS server with ASP.NET support and someone with good .NET experience.

what is the ideal CLIENT side programing language for such a dev project? -- If you really need to be able to download the database n be able to work with it offline I'd suggest using something like .NET (C# works good).

what should the ONLINE database and OFFLINE database backend be? MYSQL, MSSQL, ACCESS ??? -- MySQL for online database which the PHP server side end would easily be able to update and manage. For the offline database backend, I'm sure it is possible to download the sql database and access it within .NET though I've never done it before.

how should the general structure of callbacks and serverside and clientside software be? -- I'm not sure of all the things that inputs that the server will be receiving to store information into the database. But here is my assumption of what should be done: It would be possible to have a simple web interface for adding things to the database and viewing stored contents and what not and also have an app written in something like C# that has the ability to download the database with the proper credentials and add their own content to the database offline. All changes would be stored in a separate file temporarily until the person requests to append it to the online database. It would then compare the current database with the downloaded database and determine that they are the same -- if not, it would download the latest database and append the changes made to the downloaded one, if applicable.

Depending on the data itself depends on whether you should encrypt it or not. If you have sensitive information that only certain users should access, that information could easily be encrypted using an md5 hash combined with the person's username/password. If all the information is shared amongst the users with no restrictions then there really isn't a need to encrypt the data.

can AJAX help? (like ComponentArt GUI) -- Ajax can help for the web interface. If you have functionality like making updates or deleting things from the database you can use AJAX so that the web interface works like an application and doesn't require page refreshes.

are there any third party tools that make working with online-offline apps easier?  -- I haven't looked heavily into online-offline apps but I know it is possible to write an application that works online/offline solely within a browser (I believe by caching data and such). I've heard of some current web apps having the capability to work offline and synchronize once you're online, which you might want to look into if you'd prefer doing it that way. My assumption (as I've never done it before) is creating a web app that can work online and offline at the same time is probably one of the more difficult things in web design to master.

how to have minimum fuss for the end user (no complex installations/ no webservers running etc) - 1 server backend which has a PHP frontend (website) that people can use to access/update/modify the database. 1 frontend app written in C# containing just 1 file (the executable) to access the sql database. Both would have to be well designed and well written to keep it easy for the end user. Possibly have a client login area on the website which would allow users to download the client for offline use telling them their credentials for using the app is the same as their user/login on the site.

how should one secure such apps? locally and online? -- Depends on what kind of privileges you want for different users.


also is decompiling such apps possible? how will i know? -- Decompiling desktop apps is possible yes. Web apps can't be decompiled, only the HTML/CSS?JavaScript can be read. For desktop apps they can be easily decompiled. It'd be best if using a desktop app to require a username/password to access the database rather than hard-coding that in to be safe.

PS. You can use ASP.NET if you'd like. Since you can use multiple languages to write ASP.NET code (such as C#) it would actually be beneficial to have a coder use ASP.NET / C# and use similar code to create both the frontend and backend for the server. My suggestion is based around what I have the most experience with (which is why I first mentioned PHP). ASP.NET and C# would be easier/faster and may actually be your best solution.

Machine Specs: Windows 7 - Gigabyte GA-EP45-UD3P - Q9550 @ 3.82GHz - 8GB DDR2 - 2x Radeon HD 4770 512MB - 750W Corsair PSU
Get 2 TB bandwidth a month plus 200 GB diskspace for $69.00 a year

Re: Urgent help regarding a web development project.

THANKS DANIEL. smile neutral big_smile big_smile big_smile big_smile

ITS A VERY USEFUL REPLY

I WILL TAKE ALL TJE [PINTS U MENTIONED INTO CONSIDERATION/

THANKS AGAIN.

WARM REGARDS
CINGO big_smile

Thumbs up Thumbs down