Oracle Tuxedo: An Enterprise Platform for Dynamic Languages
By Ruma Sanyal on May 24, 2011
Till now, there was no application server around to serve as the container for applications developed in scripting languages. The lack of an app server meant that there was no life cycle management, monitoring, or many other features that an application server is expected to provide. One of the reasons for the absence of a good application server platform was that most of the situational applications (applications developed using scripting languages) when initially designed, do not really consider future RASP requirements: reliability, availability, scalability and performance. By definition, these applications are required to provide a quick solution to solve a specific problem and time-to-market is critical. But this does not really mean that situational application do not require scalability and high availability. Many of these situational applications grow with business. They become popular and critical due to their ability to solve users' current problems and ability to be quickly enhanced. Scalability and availability then become critical to preserve investment. Also, eventually, as usage of these applications grows with the organization, they must communicate with other enterprise applications. These other enterprise applications could be written in Java, C/C++ or even in COBOL in a heterogeneous environment. There has to be a way for situational applications to be good enterprise citizens so that cross communication among various applications, whether situational or enterprise, can take place. So how do we solve this problem? With Oracle Tuxedo, of course.
Tuxedo is an application server for developing and deploying applications written in C/C++, COBOL and now PHP, Python and Ruby. Tuxedo provides functionality as is expected of an application server, starting with a container for business logic written in various programming languages. Tuxedo also provides life cycle management for these services, such as starting/stopping, suspend/resume, dynamically starting more instances, restarts, etc. In addition, Tuxedo provides clustering capabilities for high availability and scalability.