Instant Messenger Project.
The develop system was intended for internal corporate communication and files and multimedia real time exchange. In addition, it can be used as a base module for creation of various secure distributed systems for corporate clients.
Main features:
1. Exchange by text messages, URL links, files;
2. Highly encrypted algorithms;
3. Saving user details, search by different criterias;
4. Different user authorization privileges, extended management functionality;
5. Broadcast messaging function;
6. Support of offline messages;
7. Peer-to-peer connection between users;
8. Server scalability;
9. Possibility of remote server administration;
10. Extended opportunities to modify functionality and add extension like plug-ins
(for example, use of SMS services, conventional paging, instant messengers such as
ICQ, AIM, MSN, etc.);
11. Possibility of working within LAN or using dial-up/broadband connection;
12. User-friendly customizable interface.
The system consists of client and server parts and a special administrator part.
IM is implemented as a demo version for corporate clients in need of secure and extendable data exchange/document circulation solutions using dial-up/cable connection or working within LAN. Possible applications: data exchange between head office and subsidiaries, organization of online meetings/conferences, distributed alerting and/or document delivery service. IM-based solutions can be used for teaching, testing, working time management purposes, etc.
System requirements:
Client piece: Windows 95/98/ME/NT/2000, 2 mB+ hard disk space. No installation required.
Server part: MS Windows NT 4.0/2000, 2 mB+ hard disk space. No installation required. 128 mB+ RAM. It can be implemented as a stand-alone application or service.
IM-BASED DISTRIBUTED SOLUTIONS
Any geographically distributed corporation or company allowing its employees to work remotely/from home or using a CRM (Customer Relation Management) system requires a secure virtual network.
An obvious solution would be MS Windows 2000/2003. However, it has some limitations. Another alternative is the development of a distributed application that would provide secure access to corporate resources using global internet connections. The existing demo version of IM can be used as a network base for such applications.
IM supports the following functions:
- maintenance of user database on server level;
- access authorization;
- data exchange using proprietary protocol;
- encryption of the communication;
- remote administration of the server.
Extended functionality was the main feature of IM project from the very beginning. Messaging itself is a plug-in that demonstrates workability of the application, i.e. the core of the application is the tool, which can be used as a basis for development of dedicated distributed systems.
Such systems can be built in several ways depending on the features required, number of users, traffic density, etc.
If the customer needs to add some new communicative functions, it is implemented by developing special plug-ins to the core. A plug-in for the client application can be developed for any user interface task based on the list of clients or services.
The same is true for server part of the application if there is no considerable increase of traffic density (for example, for support of ICQ or MSN messengers or SMS messaging). In this case the number of users should not exceed several hundreds.
If server functionality needs considerable extension, the solution can be arranged as a server application/service. In this case the main server will be used only for authorization of users and dispatch of extra servers. Users will be redirected to a specialized server and work with it. The same redirecting will occur if the number of users exceeds one thousand or in case of considerable traffic.
Finally, for the very special situations when the general logic of client interface is not based on the list of clients or services, a separate client application can be developed. Such client applications will use the same data exchange protocol as the main application.
The existing version uses UDP as the base protocol, but TCP protocol can be added without modification of the core logic.