Are there any application frameworks for languages / platforms other than JavaEE and .NET?
I am a CS student and have rare experience in the enterprise software industry. When I read about enterprise software platforms, I mostly read about these two:
By "enterprise software platforms" I mean servers and application servers that support the same features as J2EE and WCF:
[ JavaEE ] provides functionality for deploying fault-tolerant, distributed, layered Java software based primarily on modular components running on an application server.
WCF is designed according to service-oriented architecture principles to support distributed computing where services are consumed by consumers. Clients can consume multiple services, and services can be consumed by multiple clients. Services are loosely coupled to each other.
- Are there alternatives to these two "enterprise software platforms"?
- Aren't other programming languages used in this area of problems anymore?
- Why aren't there popular C ++ / Qt application servers?
Note. By "application server" I mean a server primarily for GUI software, not Webserver / Web Framework. See What is the Difference Between Web Servers and Application Servers?
a source to share
Okay, you can pretty much look at IBM's high performance mainframe servers, they are quite popular.
TUXEDO is a transaction manager that provides many high level applications written in many things like C ++.
Microsoft launched MTS (Microsoft Transaction Server) on the same day. He spoke C, C ++, VB, etc.
Application server is a nice, vague term. For example, Tomcat is an application server. Perhaps ZOPE can be considered an application server.
But everything, in my opinion, really distinguishes an application server from "simple code" - it is a transaction manager. I don't consider raw Tomcat as an application server, for example it is basically a really cool web server.
Most people rely on the database for transactions, but the transaction manager operates at a higher level when the database is just a member. And transaction managers are where the hard work takes place with the services and middleware offered by application servers. Transactions are really important in business processes.
Java EE has transaction managers. I do not know of any other "free" system that offers a transaction manager that can distribute transactions. As I said, most people rely on DB and stop there.
There are several transaction managers that support Java JTA (Java EE servers are JTA compliant internally), which is what Spring plugs into to offer transactional services. (Spring is just a framework, it is not the server itself.)
When you add TM to the OS, the entire computer can become an application server. This is what MTS does for Windows.
Java EE application servers stand out because they make most of these services top-notch (thread pools, object allocation, database federation, transactions, etc.). Many operating systems offer all of these services, at least at the process level. But people didn't really care about dedicating an entire machine to a task and setting it up to serve that single application. But all this possibility exists.
Add VMs to modern systems, and dedicated "single task" OS instances make more sense. "This Linux virtual machine is handling my DNS", "This Linux virtual machine is handling my email", etc. Thus, it is possible the OS will fall back to being a dedicated application server.
a source to share