Originated by Sun Microsystems, EJB (Enterprise JavaBeans) is roughly equivalent to Microsoft's Component Object Model/Distributed Component Object Model architecture, but, like all Java-based architectures, programs can be deployed across all major operating systems, not just Windows. EJB's program components are generally known as servlets (little server programs). The application or container that runs the servlets is sometimes called an application server. Unicode Systems uses servlets to replace Web programs that use the common gateway interface (CGI) and a Practical Extraction and Reporting Language script. Another use is to provide an interface between Web users and a legacy applicationmainframe application and its database.