Lucee
   HOME

TheInfoList



OR:

Lucee is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
implementation of a lightweight dynamically-typed scripting language for the
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
(JVM). The language is used for rapid development of
web applications A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
that compile directly to
Java bytecode In computing, Java bytecode is the bytecode-structured instruction set of the Java virtual machine (JVM), a virtual machine that enables a computer to run programs written in the Java programming language and several other programming languages, ...
, and is compatible with contemporary
CFML ColdFusion Markup Language, more commonly known as CFML, is a server-side scripting, scripting language for web development that runs on the JVM, the .NET Framework, .NET framework, and Google App Engine. Multiple commercial and open-source soft ...
script and tag language variants, and provides configurable support for legacy CFML. The Lucee language supports multiple development paradigms, including object orientation with inheritance and interfaces, and functional constructs like higher-order functions, closures, map(), and reduce(). Lucee was created by the Lucee Association
Switzerland ). Swiss law does not designate a ''capital'' as such, but the federal parliament and government are installed in Bern, while other federal institutions, such as the federal courts, are in other cities (Bellinzona, Lausanne, Luzern, Neuchâtel ...
, and was forked from version 4.2 of the
Railo Railo Server, commonly referred to as Railo ( ), is open source software which implements the general-purpose CFML server-side scripting language, often used to create dynamic websites, web applications and intranet systems. CFML is a dynamic ...
Server, which is not being developed further.


Features


Database access

Lucee has built-in support for
Microsoft SQL Server Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which ma ...
,
MySQL MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database o ...
,
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
,
PostgreSQL PostgreSQL (, ), also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the In ...
, and many other popular
relational database A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
engines. Lucee also supports any database for which a
JDBC driver A JDBC driver is a software component enabling a Java application to interact with a database. JDBC drivers are analogous to ODBC drivers, ADO.NET data providers, and OLE DB providers. To connect with individual databases, JDBC (the Java Databas ...
is available.


Web services

Lucee has built-in support for calling and consuming data returned from existing web services, along with the ability to easily configure and expose web services to be consumed. Lucee supports three types of web services: * RESTful web services *
WDDX WDDX (Web Distributed Data eXchange) is a programming language-, platform- and transport-neutral data interchange mechanism designed to pass data between different environments and different computers. History WDDX was created by Simeon Simeonov ...
/ Soap web services * HTTP (An interface using HTTP verbs, similar to REST, but simplified)


ORM

Lucee has built-in support for the object relational mapping (ORM) framework
Hibernate Hibernation is a state of minimal activity and metabolic depression undergone by some animal species. Hibernation is a seasonal heterothermy characterized by low body-temperature, slow breathing and heart-rate, and low metabolic rate. It most ...
, facilitating Hibernate usage from Lucee code without complex and explicit configuration.


Caching

Lucee has built-in support for multiple caching systems, including
Infinispan Infinispan is a distributed cache and key-value NoSQL data store software developed by Red Hat. Java applications can embed it as library, use it as a service in WildFly or any non-java applications can use it as remote service through TCP/IP. ...
,
Ehcache Ehcache ( ) is an open source Java distributed cache for general-purpose caching, Java EE and . Ehcache is available under an Apache open source license. Ehcache was developed by Greg Luck starting in 2003. In 2009, the project was purchased b ...
, and
Memcached Memcached (pronounced variously ''mem-cash-dee'' or ''mem-cashed'') is a general-purpose distributed memory-caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of t ...
, and can be extended with additional systems. The cache implementations can be configured within the Lucee server, then used within an application—both explicitly and implicitly—for the caching of database results, function call results, external HTTP request results, serialized session storage, and as a flexible backing store for an in-process RAM-based file-system abstraction.


Virtual filesystems

Lucee supports multiple virtual file systems—built-in abstractions of various local and remote resources—including zip,
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
,
FTP The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data ...
, S3, and
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
. These allow the Lucee server and developer to treat access to an abstracted resource in the same manner as a local file system.


Sample Lucee code

Lucee is derived from the
ColdFusion Markup Language ColdFusion Markup Language, more commonly known as CFML, is a scripting language for web development that runs on the JVM, the .NET framework, and Google App Engine. Multiple commercial and open source implementations of CFML engines are availab ...
(CFML) and therefore has support for both the tag-based and script-based versions of CFML:


Tag example

#myVar#


Script example

myVar = "Hello World"; echo(myVar); Both the above examples will assign the string "Hello World" as the value of the variable myVar, then output that value to the response buffer, typically for display in a web browser.


Lucee Association Switzerland

The Lucee project is led by the Lucee Association Switzerland, a non-profit
Swiss association A Swiss association ("''Verein''" in German, "association" in French, "associazione" in Italian) is a type of corporation in Swiss law. It is similar to the Anglo-American voluntary association. Unlike in Germany, a Swiss association does not need ...
. The association consists of members who help fund and guide the project. The project also has enterprise, corporate, and individual supporters; these supporters are not members of the Lucee Association, but help fund and promote the project in exchange for certain benefits.


See also

*
Railo Railo Server, commonly referred to as Railo ( ), is open source software which implements the general-purpose CFML server-side scripting language, often used to create dynamic websites, web applications and intranet systems. CFML is a dynamic ...
, the CFML engine from which Lucee was forked *
Adobe ColdFusion Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CF ...
, the original CFML engine * Open BlueDragon, another Open Source CFML engine *
CFML ColdFusion Markup Language, more commonly known as CFML, is a server-side scripting, scripting language for web development that runs on the JVM, the .NET Framework, .NET framework, and Google App Engine. Multiple commercial and open-source soft ...
, the language Lucee uses


References


External links

* {{CFML programming language CFML compilers CFML programming language