Documentation > Best Practices and Examples > Java Stack Support

Java Stack Support in the CMS Platform

The CrownPeak Software as a Service (SaaS) Platform is a heterogeneous programming environment supporting the development of websites and web applications in a variety of general purpose programming languages (including Java and JavaScript) that are common to the Web Development community. These languages all work in concert with HTML, the standard markup language used to create websites, and web applications.

A 360° View of the CrownPeak Java Stack


The CrownPeak SaaS Platform enables web developers to create the best websites and web applications on the Internet using agile software development techniques. This includes a full set of tools including: 

  • Scripting Based Programming Languages
  • Rich Application Programming Interface (API) Documentation
  • Support for Integrated Development Tools (Eclipse, Sublime)
  • Hosting Solutions for Linux (Apache HTTP Server, Apache Tomcat)

Scripting based Programming Languages


The CrownPeak Content Management System (CMS) enables fast web development through the use of the CrownPeak Scripting Language. This template language leverages object oriented classes and methods to abstract the complexities of traditional software development. The results is a “Low Code” development environment were very few lines of code are used to configure the CMS authoring experience and the resulting web pages on the hosting web servers. For Example: 

// [WYSIWYG] Editing Control
WysiwygParams wParams = servicesInput.fullWYSIWYG();
input.showWysiwyg(“Main Content”,”content”,wParams);

// [Image Selection] Control
ShowAcquireParams sapImg = new showAcquireParams();
sapImg.extensions = Util.MakeList("jpg", "jpeg", "gif", "png");
sapImg.defaultFolder = "/Site/assets/images/";
input.showAcquireImage(“Logo Image”,”logo”,sapImg);

// Carousel Image Control
while (input.nextPanel("carousel_panel")) {
    input.showAcquireImage("Carousel Image", "carousel_image", sapImg);
    input.showTextBox("Carousel Alt Text", "carousel_alt_text");
    input.showTextBox("Carousel Header Text", "carousel_header");
    input.showWysiwyg("Carousel Paragraph Text", "carousel_paragraph",wParams);
}

The CrownPeak authoring experience enables the inline editing of web pages by overlaying a selection of control type such as: Text Boxes, Text Areas, WYSIWYG Editors, List Panels, and Carousels. Each control requires an average of three lines of code to bring the authoring to life.

Rich API Documentation


The CrownPeak development center (developer.crownpeak.com) delivers information about the Application Programming Interface (API) libraries (Figure 1). This allows developers to directly access the CrownPeak platform through both the Content Management System (CMS) and via externally developed web applications (Figure 2). 

The CrownPeak Application Programming Interface (API) Options includes: 

Figure 1. CMS Template API Documentation

Figure 2. CMS Direct Access API Documentation 

Support for IDE Tools


Most web developers prefer to work in their favorite editors and integrated development environment (IDE) tools to create websites and web applications. The obvious benefits are syntax color-coding and Autocomplete (in-context-typing suggesting for classes, methods, and parameters) support that is appropriate for the selected language. IDE tools also offer breakpoints that allow developers to stop the program execution and trace the code paths while inspecting variables in real-time.  

CrownPeak has created both standalone  (January, 2010) and integrated versions (July, 2014) of the CrownPeak Desktop Connection (CDC) for the CrownPeak CMS. The Java Desktop Connection Add-in (Figure 3) is optimized for use with Eclipse 3.3 and above. The Standalone Desktop Connection (Figure 4) is ideal for Web Developers using Sublime (Figure 5) and other code editors. Both versions support the creating and editing of templates using the Java, C# and Classic API. 

 

Figure 3. The CrownPeak Java Desktop Connection Add-in for Eclipse

Figure 4. The Standalone Desktop Connection for Code Editors

Figure 5. The Sublime Text Code Editor

Hosting Solutions for Linux (Apache, Tomcat)


The CrownPeak hosting solution provides customers and partners with a full lifecycle of environments (Figure 6) to develop and deploy code onto Linux servers running either Apache HTTP Server or Apache Tomcat.  The Linux Web servers can be configured to support JSP code through Apache HTTP Server or PHP code with the addition of Apache Tomcat. The versions currently supported are:

  • Apache HTTP Server 2.4
  • Apache Tomcat 7
  • Java 7/8 (Server JRE)
  • PHP 5.4

In addition, CrownPeak offers Application and Database servers as part of a Three Tier model (Figure 7). The Web server presents the external face of your application and handles all end-user interaction (UI). The Application server performs all application business logic, controls application behavior, and is not accessible to end users. The Database server stores the persistent data of an application such as accounts, transactions, or preferences.

Figure 6. Full Lifecycle                                            Figure 7. Three Tier Model

This combination of configuration options enables CrownPeak to support the deployment of website and web application code in Java and other languages (Figure 8). In addition, CrownPeak is a fully managed hosting solution that includes the seamless integration between the CMS environment and the hosting environment. The IT Operations team is available 7 days/week and 24 hours/day to respond to requests related to the standup, configuration, and ongoing maintenance of client and partner hosting environments. 

Figure 8.  CrownPeak Code Deployment 

Connect with CrownPeak