# Enterprise Edition (EE) ***

We had many, interesting, discussions with experienced PHP core developers about the possibilities and pitfalls that multithreading in a language like PHP comes along with. Most of them thought, that it still will not be possible to provide a stable and high performant server implementation as base for an application server. Months later, we think, we can refute that: You do not believe it? Have a look at our CE!

We have a vision for the future of PHP!

After finishing the first real PHP Application Server that allows stateful, enterprise-grade application development, we think, that PHP is now ready to make the next big step into the Java dominated enterprise market. As Open Source driven service provider, focused on Magento, TYPO3 CMS and Neos projects, we faced various problems when we tried to scale out growing businesses. Exactly that has been the reason, why we decided to start appserver.io CE and will now complement it with an EE, providing out-of-the-box solutions for requirements of mid- and enterprise range web applications.

Millions of developers and great, simple to use and easy to install applications made PHP the most used language for developing web applications these days. 80 percent market share can not be wrong! But out there, another huge market, not yet recognized by the PHP ecosystem, is still waiting to be optained by us. You may wonder, what we are talking about? About the financial, insurance and industry market, which has, regarding a Gartner analysis from 2011, a volume of about 17 billion dollars. Completely covered by big players as IBM’s Websphere, Oracle’s WebLogic and JBoss EAP, we think it’s time to tear out a big piece of that cake for the PHP ecosystem.

To play with the big ones, we think, PHP needs a bunch of solutions, to satisfy the requirements for performance, scalability, maintainability and last but not least security, these market requests. Have a look what solutions we’ve in mind for appserver.io, and what we’re talking about.

Clustering

Cluster support adds high availability and scaling features to appserver.io. High availability means to handle client requests for a minimal down and an acceptable response time. To guarantee this, appserver.io must be able to distribute requests to nodes available in the cluster and make sure, that a failover node has the requested data available. As some components of an application may be stateful, replication must take care, that data will be available on more than one node or can be restored from several nodes if necessary.

Load Balancing

Load Balancing provides functionality to distribute a workload across multiple server nodes. Besides basic load balancing functionality like common scheduling algorithms like random, round robin or sticky session that can also be used standalone, load balancing will also provide extended functionality. Functionality like priority activation that will be necessary to an enterprise environment.

Dashboard

The Dashboard provides a web-based managing GUI enabling and simplifying the maintenance in a single server, as well as in a cluster environment. The Dashboard can be used to make smooth and easy configuration changes and apply them directly to specific servers or the whole cluster environment. It also allows to analyze server state and obtain key figures of the configured environment.

Event Monitor

The Event Monitor enables to watch and control all services of the infrastructural environment right up to applications running on that platform itself. The service allows to use notifications on any defined incidents. The notification handling is generic in order to use all possible channels like mail, SMS even other monitoring platforms can be triggered. Events can be used to specify custom incidents and can also be used in an application running on appserver.io.

Authentication and Authorization Services

Authentication and Authorization Services not only secures access to the dashboard, but also provides the possibility to create business rules and workflows within the infrastructure. A workflow manager, integrated with the Dashboard, can also be used in an application context to build up processes and workflows. A central identity management with LDAP or Active Directory can also be connected and is shipped with the possibility of creating ACL and user roles.