About Tigase Jabber/XMPP Server
Tigase Jabber/XMPP Server is Open Source and Free (GPLv3) Java based server. The goals behind the design and implementation of the server are:
- Make the server robust and reliable.
- Make the server secure communication platform.
- Make flexible server which can be applied to different use cases.
- Make extensible server which takes full advantage of XMPP protocol extensibility.
- Make the server easy to setup and maintain.
- Robust and reliable.
-
By robust and reliable server I mean the server which can handle many concurrent requests/connections and can run for a log time. By many concurrent requests/connections I mean as many as it is needed. The server is designed and implemented to handle milions of simultaneous connections.
It is not enough however to design and implement high load server and hope it will run well. The main focus in the project is put in tests. Tests are taken so seriously that dedicated testing framework has been implemented. All server functions are considered as implemented only when they pass testing cycle. The testing cycle consists of 3 fundamental tests:
- Functional tests - checking whether the function works at all.
- Performance tests - checking whether the function performs well enough.
- Stability tests - checking whether the function behaves well in long term run. It must handle hundreds of requests a second in several hours server run.
- Security
-
There are a few elements of the security related to Jabber/XMPP server: secure data transmissions which is met by the implementation of SSL or TLS protocol, secure user authorization which is met by the implementation of DIGEST or SASL user authorization and secure deployment which is met by component architecture.
Secure deployment is a software installation which doesn't impact network security. Companies usually have their networks divided into 2 parts: DMZ which is partially open to outside world and Private network which is closed to outside world.
If the Jabber/XMPP server have to provide effective way of communication between company employees regardless they are in company office or outside (perhaps at customer site) it needs to accept connections from outside world. So the natural place for server deployment is a DMZ part. There is an issue however with such installation. Each company has normally established network users base and integrated authorization mechanisms. So it would be very good if Jabber server could use this mechanisms for users authorizations as well. Usually, however, authorization information is not available in DMZ and it shouldn't be.
Tigase server offers solution for such case. With it's component structure it can be easily deployed on any number machines and from the user point of view it is seen as a one logical Jabber server. So in our case we can install Session Manager module in private network part and Client Connection Manager with Server Connection Manager in DMZ.
Session Manager connects to DMZ and receives all packets from users. Thus is can securely realize users authorization based on company authorization mechanisms. - Flexibility
- There are many different Jabber/XMPP server use cases. The most obvious are:
- Used as bussiness communication platform in small and medium companies server is not under heavy load. Instead for such deployments security is a key feature.
- Fo huge community websites or internet portals server is on the other side usually under very heavy load and have to support tousands or millions of simultaneous connections and for such deployment we talk about different kind of security as the service is open to public anyway.
- For very small community deployments or for small home networks the key factor is ease to deploy and maintain.
Architecture based on components allows you to run selected modules on separate machines so the server can be easily applied to all scenarios.
For simple installation server generates config file which can be used almost stright away with very few modifications or sometimes even no config editing is required. For complex deployments though you can tweak configuration to your needs and setup Jabber server on as many physical machines as you need. - Extensibility
-
The world changes all the time so people needs change as well. Jabber/XMPP protocol has been designed to be extensible to make it easy adding new features and apply it to different needs. As a result Jabber is a very effective platform not only for sending messages to mates. It can also be extended for sending instant notifications about events, it can be useful platform for on-line customer service, voice communication and all other cases where sending information instantly to other people is needed.
Tigase server has been designed to be extensible as well. Of course modular architecture makes it extensible as you can easily replace component which doesn't fullfill your requirements with another one better fitting your needs. But this is not all. Another factor of extensibility is how easy is to replace component or add new extensions. The great focus has been put in server design API to make it easy for other software developers to create extensions and implement new features.
- Easy
-
Complex computer networks consisting of many servers with different services are hard to maintain. There is no other way than employing professional staff and looking after the network.
Not all networks are so complex however. Most small companies have just a few servers for their needs with services like e-mail,
HTTPserver with company website and that's it. They might want to add Jabber server to the collection of their services and don't want to dedicate much resources on setting it up and later maintenance. For such users default configuration is pretty much what they need. If operating system on the server is well configured then Tigase should pickup correct hostname.Tigase server is designed and implemented to allow dynamic reconfiguration at runtime so there is no need for restarting server each time you want to change a configuration settings.
There are also interfaces and handlers available to make it easy to implement web user interface for server monitoring and configuring. Such user interface will included in one of future releases.
- Printer-friendly version
- Add new comment
- 17068 reads






Recent comments
1 day 10 hours ago
1 day 14 hours ago
2 days 14 hours ago
3 days 4 hours ago
3 days 4 hours ago
2 weeks 5 days ago
2 weeks 5 days ago
3 weeks 2 days ago
3 weeks 3 days ago
7 weeks 4 days ago