BUSINESS SOLUTIONS TECHNOLOGY RADAR GUIDE: CDN CHALLENGE www.coremedia.com CoreMedia Technology Radar Emerging technologies and trends that affect the market today. July 2015 The CoreMedia Technology Radar communicates CoreMedia’s position on established as well as upcoming technologies and techniques for CoreMedia products and projects. The purpose of this document is to assist our customers and partners with staying informed on the continuous rise and fall of technologies and techniques. TECHNOLOGY RADAR Table of Contents CoreMedia Technology Radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 UI & Web Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Deployment & Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 i CoreMedia Technology Radar Emerging technologies and trends that affect the market today The CoreMedia Technology Radar communicates CoreMedia’s position on established as well as upcoming technologies and techniques for CoreMedia products and projects. The purpose of this document is to support our customers and partners in their task to stay informed about the continuous rise and fall of technologies and techniques. The Technology Radar is divided into the following sections: JJDevelopment Tools are used to create, debug, and maintain applications within the CoreMedia ecosystem. Because we build our software on open standards and with the help of well-known and established technologies, developers with experience in J2EE and Open Source will feel right at home. JJUI & Web Technologies play a very important role for us. Our main editorial front end — the CoreMedia Studio — is based on web technologies and so are our customers’ main distribution channels. Regardless if they are building web sites, are delivering content to native mobile apps or are integrating with other 3rd party systems. That’s why you will find all of the technologies that are key to our products in the essential section. Of course, there are other technologies and techniques that are highly relevant to our customers and us right now. We further observe that the world around the web is quickly changing towards a more mobile and contextualized experience for consumers. JJIntegration with other systems, such as existing IT infrastructure, additional 3rd party content sources or delivery end points, is an important feature of our product. The technologies and techniques that are highlighted in this section enable us to support the widest range of integration scenarios that we know our customers require. And they give the flexibility to support the yet unknown. JJDeployment & Operations are key to the success of a CoreMedia installation. While we deliver out-of-the-box deployment scenarios that cover most common scenarios, the deployment can be easily be configured and customized to fit even the most specialized requirements. Storage and search technologies have a strong influence on solution architectures and deployment. It is therefore important to understand requirements and the impact that a decision for or against a chosen technology has. 1 TECHNOLOGY RADAR 2 3 TECHNOLOGY RADAR Within each section of the Radar we differentiate between the following levels of importance illustrated by rings: ESSENTIAL A technology has been adopted by the majority of CoreMedia’s products and projects. RELEVANT A technology is valuable for selected scenarios that incorporate CoreMedia’s products and projects. INTERESTING A technology is worth exploring with the goal of understanding how it will affect CoreMedia’s products and projects. OUT-OF-SCOPE A technology in the general domain of CoreMedia but out-of-scope due to reasons stated at the relevant item. Please note that the position of a technology within a ring is chosen arbitrarily. It does not indicate its relative importance compared to other technologies. In the following pages, we dive into each section, providing details on CoreMedia’s position. In most cases we focus on a particular technology that has already been adopted by either CoreMedia or proven well in customer projects, while in cases where no single technology has set itself apart we address general concepts. 4 Development Tools ESSENTIAL Apache Maven [1] is the de-facto standard build and artifact distribution system in the Java ecosystem. Its strengths include a clear set of conventions and a standard build phase model, leading to standardized project structures and lower cost of developer on-boarding or switching between projects. Maven has an extensible plug-in architecture, a large active community, and is well supported by free and commercial software development tools. Continuous Integration [2] (CI) is an essential software development practice, combining automated build verification and frequent integration of all code changes made within a team to produce high-quality software with short release cycles. RELEVANT IntelliJ IDEA [3] is the Java IDE of our choice. Git [4] iis a distributed version control system (DVCS), supporting many different types of workflows. Development in teams is inherently distributed and any DVCS is superior to centralized approaches. Git is used for all development projects within CoreMedia. Eclipse [5] is the leading Java IDE in terms of market share and a free alternative to IDEA. Browser based testing [6] is an important building block of QA automation. Tools like Selenium have enabled automated testing through the browser but these tools should be introduced with care. Most teams have observed that browser-based testing can create slow and fragile test suites. 5 TECHNOLOGY RADAR While Apache Maven is the standard build system for Java projects, several Front End Build Tools [7] have to be combined to achieve a superior front end developer experience. Currently, Grunt and Gulp are the build automation tools of choice, and Bower is typically used for dependency management. Load and stress testing [8] should be performed to verify that the system will operate as expected under normal and expected peak conditions before changes are deployed into the production environment. Additionally, through stress testing, the boundaries of the system and the symptoms of it failing will be made visible. Automating these types of tests becomes more important with the topic of Continuous Delivery. INTERESTING Desktop virtualization solutions like Vagrant [9] aim to remove the difference between development, test, and production deployments. Vagrant allows developers to quickly create reproducible, production-like, and virtualized software deployments on their development machine. At CoreMedia, we use and recommend Vagrant to quickly create complex test infrastructure during development, and to create reproducible reference deployments as part of continuous delivery pipelines. Today, Integrated Development Environments (IDEs) are still classic desktop applications. With code repositories, build- and test-tools and execution environments moving into the cloud, it seems only natural to also put the IDE in the Cloud [10] and provide a browserbased interface. Especially for Web development, we expect solutions like Codeenvy, Codio, or Cloud9 IDE to become competitive in the midterm. Groovy [11] is a JVM-based dynamic scripting language with a Java-like syntax. It is well suited for building DSLs as applied in Gradle build definitions and the Spring Framework Bean Definition Builder. CoreMedia currently uses Groovy for CI configuration and release automation. When dealing with Infrastructure as Code, Packer [12] is a tool that can be used to create machine images for multiple platforms from a single source configuration. CoreMedia uses Packer to create development infrastructure like Vagrant base boxes and AWS as well as VMWare images. OUT-OF-SCOPE Apache Ant and Gradle are build automation tools. Apache Ant had been widely adopted but lacks abstractions like dependency management and declarative build descriptions. Gradle offers more flexibility than Apache Maven and is gaining adoption, but does not sufficiently promote declarative build descriptions and misses essential plugins. Currently, potential benefits do not justify costs of migrating internal or customer projects to Gradle. Subversion is a centralized version control system (VCS) that has gained wide adoption because it’s easy to understand and free of charge. However, CoreMedia observes a significant increase in productivity since using Git in all development projects. 6 UI & Web Technologies ESSENTIAL JavaScript [13] is a key technology used in CoreMedia Studio and CoreMedia Blueprint. For the Web, you have to target JavaScript. To overcome its limitations, there are several enterprise-ready languages that compile to JavaScript. We chose ActionScript 3 and developed the Jangaroo [14] tools to compile ActionScript to JavaScript, since ActionScript delivers all language features and tools needed for enterprise development, it is still very similar to JavaScript, and provides enterprise features and tools similar to Java. Sencha Ext JS [15] is one of the key technologies used in CoreMedia Studio. Because the latest version of Sencha Ext JS introduced support for devices with touch-screen input, we are dropping the mobile-only Sencha Touch from the Technology Radar. The Responsive Web Design [16] (RWD) approach allows for creating a better viewing experience for users with all sorts of modern devices, including desktop browsers, tablets and smartphones. With the rising penetration of feature-rich mobile devices, Responsive Web Design should be the default design for any new website implementation as it supports more users from the outset while reducing the web development effort. 7 TECHNOLOGY RADAR User Experience Design [17] is an essential but often neglected aspect of the software development lifecycle. Focusing on the user’s goals increases the acceptance of the user interface which is even more important when implementing editorial user interfaces such as CoreMedia Studio. One technique that will become more important in complex user interfaces is called Progressive Disclosure which aims for improving usability by presenting only a minimum of information for the current task and offer more functionality on demand. FreeMarker [18] is a template rendering engine supported in CoreMedia CMS as an alternative to JSP templates. Compared to JSP, FreeMarker has several advantages, in particular with regards to dynamic template deployments. RELEVANT Mobile devices and in particular Touch devices [19] are becoming more and more popular. Not only will more people use mobile devices to access our customer’s web properties, but also will users of our CMS use mobile phones or tablets to interact with content and support editorial processes. Different access patterns, bandwidth requirements, and device capabilities need to be addressed by the user interface in this regard. Touch user interfaces and desktop user interfaces will converge in the long term. jQuery [20] is the de-facto standard JavaScript library used on many dynamic websites. jQuery Mobile may be added for specific use-cases as part of an implementation project. Bootstrap [21] is one of the most used mobile first front-end frameworks with a collection of components and tools, based on HTML, CSS and JavaScript. It is used in CoreMedia Blueprint to offer a flexible and well-known basis to customize in projects. We observe stagnation in the LESS project and believe that SASS [22] has established itself as a grammar extension to parameterize and generalize CSS. Ext JS 4 component styling is based on SASS. INTERESTING Hybrid App Frameworks [23] ] allow building mobile applications using Web technologies and packaging them as native apps. To let such hybrid apps match native apps’ capabilities, the platform provides device-independent access to facilities like camera or gyroscope. The leading hybrid app platforms are Adobe PhoneGap and its Open Source base Apache Cordova, moreover Appcelerator Titanium and Intel XDK. MXML [24] is Apache Flex’s declarative UI language. Although we consider that Flex on Flash is no longer state of the art since Flash support is fading away, MXML is independent of Flash-based Flex components and is a good fit to be used with Jangaroo. Using a wide-spread declarative UI language instead of CoreMedia’s EXML dialect allows taking advantage of available skills, documentation and even more support from tools originally built for Flex, especially more IDEs, and in the long term maybe even Apache Flex itself. As an alternative to Edge Side Includes (ESI), Client Side Assembly [25] moves the final assembly of pages to the client. This approach allows for combining static pages cached by CDNs with dynamic content, and making use of the client’s local processing power. Another aspect of Client Side Assembly is Client Side Templating supporting even more complex functionalities for ingesting dynamic content into pages. 8 As of late many new JavaScript programming paradigms, frameworks and tools have appeared. For asynchronous programming, JavaScript rediscovered Promises (e.g. implemented in jQuery and “Q”). Several frameworks (AngularJS, React, Polymer, etc.) implement various styles of client-side Model-View-* Architectures [26]. A common module format that can be used on client and server, Asynchronous Module Definition [27] (AMD), is implemented by RequireJS. Other high level languages (TypeScript, Dart, HaXe) are compiled to JavaScript. CoreMedia evaluates the impact of these topics on our technology stack and APIs, and by creating Jangaroo (see above) is a thought leader of the last one. Famo.us/Angular[28] is a promising combination of two JavaScript frameworks: AngularJS enriches HTML pages by dynamic views (client-side MVC), while Famo.us acts as the HTML5 replacement for Flash, providing high performance animations and rich user interaction by uniting DOM and WebGL. Compared to AngularJS, which is one of the most widespread JavaScript MVC frameworks, Famo.us is quite new, but having joined the jQuery Foundation as a founding-level member, it is fancied by many as the jQuery (and Flash) successor. Together, Famo.us and AngularJS have the potential of providing the next-generation Web UI framework. OUT-OF-SCOPE In 2009 CoreMedia made the path-breaking decision to create our new editorial UI using Web technologies. Since the advances in browser technology, customers benefit from the rich, cross platform, ubiquitous and zero install CoreMedia Studio. To achieve a rich and responsive UI, we chose to implement a fat client. These decisions led to several established UI technologies being out-of-scope for CoreMedia: JJVaadin is a rich, but not fat client technology, since some of the UI logic is executed on the server. While simplifying the programming model for Java developers, it limits advanced user interactions like drag-and-drop that become less responsive or less informative. JJGoogle Web Toolkit (GWT) translates Java to JavaScript and appears to be the perfect choice for Java developers who have to create JavaScript code. However, GWT cannot easily be combined with the usual JavaScript ecosystem, its generated code is extensive and hard to debug and the project seems to have lost momentum as Google focuses on Dart. JJSince JavaFX has emerged as viable successor of Java Swing, it has received a lot of positive feedback. However, it does neither target mobile devices nor align with our decision for web technologies 9 TECHNOLOGY RADAR Integration ESSENTIAL Java [29] is a general purpose, platform-independent, object-oriented language and a robust and matured platform for enterprise applications. Java is the platform for CoreMedia products. CoreMedia provides Java APIs for customizations. Content Syndication [30] is a concept for aggregating and distributing content for internal and external customers across touch points, channels, formats, and organizations. Achieving this in a timely and accurate manner whilst at the same time being able to manage and monitor syndications is a vital part of the whole content syndication strategy. In particular syndication is a source for feeding content into external search engines or catalogs. Spring [31] is a widely used and extensive application framework for the Java platform. It is used in all CoreMedia products to simplify configuration and to offer flexible extension points. For providing API and extension points, we recommend configuration as code ( Java classes with Spring annotations). Concrete project configuration (“wiring”) should still use Spring’s declarative XML format. Both should be parametrized by easy-to-adapt properties files. Single Sign-On [32] (SSO) allows for authenticating a user across different applications and promises to facilitate the instant-on pattern users have gotten used to from the mobile application world. Each automatic authentication through SSO is a step toward better usability. 10 Representational State Transfer (REST [33]) has emerged as a predominant design pattern for light weight web services. It allows building scalable applications leveraging existing web infrastructure such as proxies and load-balancers. Common REST transport formats are XML and JSON. While XML has a right to exist for human-authored formats, for transport formats, JSON is preferred, stressing the light weight character of REST. An Analytics Integration [34] is important to understand web usage and optimize web properties. It is a tool for business and marketing research, as well as to assess and improve the effectiveness of a website. CoreMedia CMS comes with connectors for several web analytics providers that support the full optimization feedback loop. Content Driven Commerce [35] addresses all phases of the customer journey by combining the strengths of Web Content Management and e-Commerce Applications to improve the buyer’s shopping experience and increase conversion rates. CoreMedia LiveContext blends content and commerce to provide a deep, real-time integration of e-Commerce Applications. It comes pre-integrated with IBM WebSphere Commerce and SAP WCEM, but may be integrated with any home-grown or commercial e-Commerce Application via its e-Commerce API. RELEVANT Online Identity Integration [36] allows web site visitors to use an existing online identity for authentication. Open specifications exist that define protocols for cross application authentication. For example, OAuth can be used to allow visitors to identify themselves with an existing online identity. It is supported by social networks such as Twitter and Facebook. Websockets [37] is a HTML5-based, bidirectional message exchange protocol for real time web applications significantly enhancing the user experience. Application Servers [38] can be found in enterprises as deployment environment for Java applications. Most notable are Apache Tomcat on the open source side and IBM WebSphere Application Server on the commercial side. Asset Management Systems [39] (MAM, DAM) are used to centrally manage all digital assets of an organization particularly images and videos. Main functionalities include transcoding, archiving and rights management. Content Integration [40] from external systems like commerce systems, product information systems, print publishing systems etc. is a common challenge in large organizations. The typical use cases comprise of enriching a web site with content from the aforementioned systems as well as some kind of process integration. Technically, it is particularly important to avoid data redundancy and heavy backend synchronization processes whilst having a dynamic, on-demand driven integration for both the editorial work flow and the end user presentation. A CMS should integrate well with Translation Services [41] to ease the process of translating content into different languages. This process often involves a workflow with structured data exchange to manage content that requires translation and to track translation status across platforms and services. Translation Services are particularly beneficial for large organizations with worldwide brand, marketing or shopping presences. 11 TECHNOLOGY RADAR INTERESTING Non-blocking HTTP Servers [42] are scalable, lightweight and efficient, and are therefore perfect for data-intensive event-push applications that run across distributed devices. We are currently observing a market trend toward this technology. Edge Side Includes [43] (ESI) allow for late assembly of web fragments on the edge servers of CDN providers. The combination of CoreMedia, ESI and CDN provides a flexible way to mix static and contextualized content. Marketing Automation Tools [44] provide capabilities for marketing departments to manage, execute and follow up on campaigns targeting specific customer segments. This includes integration with CRM systems and comprises of services like newsletter management, cross platform campaigning and Multi Variate Testing [45]. With the announcement of iBeacon, Apple has drawn new attention to In-store Location Tracking and Targeting [46]. Retailers are not only challenged to implement this technology but also to effectively manage location-based mobile marketing campaigns. This also includes presenting contextualized content to shoppers and thus reinforces the need for a tight integration of content and commerce as offered by CoreMedia LiveContext. OUT-OF-SCOPE 12 Portal Servers integrate applications and content in enterprises for a unified user experience. And although CoreMedia has a long history in supporting various integration scenarios, we observe stagnation in demand and need of portal server integrations. Deployment & Operations ESSENTIAL Deployment Automation [47] enables reproducible, flexible and fast setup of infrastructure reducing total cost of ownership (TCO). It is a prerequisite for Cloud Computing and Continuous Delivery. Virtualization [48] enables hardware infrastructure sharing for better utilization of resources reducing TCO. It is widely used among CoreMedia’s customers and is a prerequisite for Cloud Computing. Elasticity [49] allows unlimited scalability with minimum resource usage. CoreMedia implemented this concept in its social software in a first instance. With Elasticity build into the core of the software, customers will be able to handle unanticipated load caused for example by sudden attention around promotional campaigns or massive influx of users. Continuous Delivery [50] reduces time to market of development increments and enables a fast feedback loop. Apache Solr [51] is a lightweight and wide-spread enterprise search engine. It is highly extensible and has been customized to cover all of our editorial content search use cases. Apache Solr Cloud is an extension for Apache Solr that enables horizontal scalability and high availability. It is part of Solr 4 and is available as a deployment option. RDBMS [52] is the dominant database technology and used for consistent storage of content in CoreMedia CMS. Recently, IBM, Oracle and PostgreSQL added native JSON support to their database products, which might indicate a trend comparable to the addition of native XML support at the beginning of the millennium. 13 TECHNOLOGY RADAR MongoDB [53] is a fast, horizontally scalable and highly available NoSQL database which offers simple setup and operation. It’s document-oriented and schema-less data model allows for more flexible CMS content models. Today it is used for storage of user generated content in the CoreMedia CMS. RELEVANT The foundation of Cloud Computing [54] is a broader concept of converged infrastructure and shared services. Customers are increasingly adopting sharing of resources to achieve economies of scale. Software architectures must be designed to take full advantage of Cloud Computing. CoreMedia is streamlining its products accordingly. Content Delivery Networks [55] (CDN) offer to outsource web delivery infrastructure by moving static data closer to end users thus reducing load on the origin servers. Web Accelerators [56] like Varnish enable routing of web traffic on the HTTP layer and enable caching of static data to reduce load on backend systems, replacing classic reverse proxies like Apache HTTPD. Although Web Accelerators and CDNs are not considered as essentials, almost all projects use these technologies to improve page load times. Amazon Web Services [57] is the leading provider for public and virtual private cloud services. Chef [58] offers prefabricated building blocks for Deployment Automation. A large community around Chef has emerged and maintains integrations for many third party components. At CoreMedia we use Chef extensively and also provide tools for establishing a fully automated deployment process. It offers better abstractions and cross platform capabilities than Native Application Packaging methods like RPM and APT. Private Cloud Automation [59] software, like OpenStack, OpenNebula and Apache CloudStack, allows organizations to implement an internal, programmable Infrastructureas-a-Service (IaaS) on top of their own virtualization infrastructure. When the managed infrastructure is sufficiently large, turning virtualized hardware into IaaS reduces costs and standardizes operations across public, private, and hybrid clouds. CoreMedia leverages Private Cloud Automation to implement its Continuous Integration and Continuous Delivery practices. Monitoring [60] is key to gather performance metrics and overall operational status of a system. With an increasing demand for automation of large and distributed systems comes the need for proper monitoring integration. Two solutions have gained a lot of traction in the open source market. The ELK stack combines Elasticsearch, Logstash and Kibana. It provides a centralized logging aggregation and an analysis facility to create meaningful dashboards to observe and prevent failures. Sensu on the other hand is a classical monitoring solution, which combines health checks and metrics with alerting into various channels. 14 INTERESTING Infrastructure as a Service [61] (IaaS) providers offer virtualized computing, storage, and networking infrastructure as a pay-per-use service with on-demand provisioning of additional resources. Using such services frees application providers from provisioning and maintaining physical infrastructure, and reduces their time to add new resources, and allows them to turn high upfront capital expenses into usage dependent operating expenses. Notable IaaS providers include Windows Azure and Rackspace. Platform-as-a-Services [62] (PaaS) automate all the tasks to provision, configure, maintain, and scale hardware and software structure necessary to run an application. Zabbix [63] is an integrated, mature open source solution for monitoring, alerting and graphing, covering the whole range from operating system through infrastructure software to Java application JMX attributes. It meshes well with a DevOps approach through its templating and auto discovery features as well as its REST API. It is extensible without requiring custom implementation, and does not suffer from forking due to its companybacked enterprise grade development model. Data Management Platforms [64] are data warehouses that absorb, sort and house information, and emit them in a way that is useful for marketers, publishers and other stake holders. The open source big data platform for strategic big data analysis in many large corporations is Apache Hadoop. In contrast to configuration management tools, Service Discovery [65] is a technique to dynamically wire services and applications together at runtime. It has gained a lot of traction since the adoption of cloud based deployments and micro services. New products have emerged, most notably Zookeeper, Etcd and Consul. Container-based Deployment [66] is a technique to package an application together with its operating environment into a self-contained file system image. Therefore, operating system maintenance becomes independent of application image updates, which makes this technique ideal for a testable and fast continuous deployment process. The pioneer of this field is Docker. A large ecosystem has grown around it with many key players in place, providing standard images for their applications. An alternative to Docker is Rocket. 15 TECHNOLOGY RADAR About the Authors Björn Gaworski has more than 10 years of experience in the Content Management industry and began his career at CoreMedia as a Support Engineer. As a Technical Consultant he then worked with customers including the Australian Broadcasting Corporation (ABC), Deutsche Telekom, and Singapore Press Holdings. In his current role as Solution Specialist e-Commerce, Björn is shaping and implementing CoreMedia’s e-Commerce integration products. Christian Pesch works as Product Manager at CoreMedia with background in Software Development and Project Management where he has been responsible for Site Manager, Workflow, Unified API, Mobile TV, Elastic Social, various Portal Server integrations and research projects. Christian holds a diploma in Computer Science, a SCRUM certification and looks back on more than 15 years of experience in Content Management. Felix Simmendinger is a Senior Software Engineer at CoreMedia. He has specialized in build, release and deployment automation with more than eight years of experience. He is responsible for the Maven project workspaces since CoreMedia V and shapes the configuration management aspects of CoreMedia systems. Felix holds a diploma in Computer Science. Daniel Spilker is working as a Software Architect at CoreMedia with more than 10 years of experience in Content Management and Digital Rights Management systems. As an architect, he has been working on the Digital Rights Management Platform, the WebTV software as a service offering and Elastic Social. Currently he is working on deployment automation and continuous delivery aspects of the CoreMedia Content Management System. Daniel holds a diploma in Software Engineering. Frank Wienberg holds a Ph.D. in Computer Science and is a Software Architect at CoreMedia. He has been working on and researching web-based rich UIs since their early days and has predominantly influenced the architecture of CoreMedia Studio, Starter Kit, and WebEditor. Frank is also dedicated to CoreMedia’s open source project Jangaroo. 16 References [1]http://maven.apache.org/ [2] http://martinfowler.com/articles/continuousIntegration.html [3] http://www.jetbrains.com/idea/ [4] http://git-scm.com/ [5] http://www.eclipse.org/ [6] http://docs.seleniumhq.org/ [7] http://gruntjs.com/, http://gulpjs.com/, http://bower.io/ [8] http://en.wikipedia.org/wiki/Stress_testing, http://en.wikipedia.org/wiki/Load_testing [9]http://vagrantup.com/ [10]http://www.hongkiat.com/blog/cloud-ide-developers/ [11]http://groovy.codehaus.org/ [12]http://www.packer.io/ [13]http://en.wikipedia.org/wiki/Javascript [14] http://en.wikipedia.org/wiki/ActionScript#ActionScript_3.0, http://www.jangaroo.net/ [15] http://www.sencha.com/products/extjs/, http://www.sencha.com/blog/ext-js-on-tap/ [16]http://en.wikipedia.org/wiki/Responsive_web_design [17]http://en.wikipedia.org/wiki/User_experience_design [18]http://freemarker.sourceforge.net/ [20]http://jquery.com/ [21]http://getbootstrap.com/ [22]http://sass-lang.com/ [23] http://phonegap.com/, https://cordova.apache.org/, http://www.appcelerator.com/product/ [24]http://en.wikipedia.org/wiki/MXML [27] http://en.wikipedia.org/wiki/Asynchronous_module_definition [28]https://famo.us/integrations/angular/ [29]http://en.wikipedia.org/wiki/Java_(programming_language) [31]http://www.springsource.org/spring-framework [32]http://en.wikipedia.org/wiki/Single_sign-on [33]http://en.wikipedia.org/wiki/REST [34]http://en.wikipedia.org/wiki/Web_analytics [37]http://en.wikipedia.org/wiki/WebSockets [38]http://en.wikipedia.org/wiki/Enterprise_application_server [39]http://en.wikipedia.org/wiki/Digital_asset_management [43]http://en.wikipedia.org/wiki/Edge_Side_Includes [45]http://en.wikipedia.org/wiki/Multi_variate_testing [46]http://en.wikipedia.org/wiki/IBeacon [48]http://en.wikipedia.org/wiki/Virtualization [50]http://en.wikipedia.org/wiki/Continuous_delivery [51]http://lucene.apache.org/solr/ [52]http://en.wikipedia.org/wiki/Relational_database_management_system [53]http://www.mongodb.org/ [54]http://en.wikipedia.org/wiki/Cloud_computing [55]http://en.wikipedia.org/wiki/Content_delivery_network [56]http://en.wikipedia.org/wiki/Web_accelerator [57]http://aws.amazon.com/ [58]https://www.chef.io/chef/ [61]http://en.wikipedia.org/wiki/Infrastructure_as_a_service#Infrastructure_as_a_service_.28IaaS.29 [62]http://en.wikipedia.org/wiki/Platform_as_a_service [63]http://www.zabbix.com/ [64]http://www.iab.net/wiki/index.php/Data_Management_Platform [65] https://zookeeper.apache.org/, https://coreos.com/etcd/, https://www.consul.io/ [66]http://www.docker.io/ 17 TECHNOLOGY RADAR Germany, Switzerland, Austria CoreMedia AG Ludwig-Erhard-Straße 18 20459 Hamburg Germany Tel + 49 .40.32 55 87 .0 The Americas CoreMedia Corporation 114 Sansome Street, Suite 1300 San Francisco CA 94104 USA Tel + 1 .415 .371 .0400 CoreMedia Corporation 1001 N. 19th Street, Suite 1200 Arlington VA 22209 USA Tel + 1 .703 .945 .1079 Europe, Middle East and Africa CoreMedia Ltd. 90 Long Acre Covent Garden London WC2E 9RZ United Kingdom Tel + 44 .207 .849 .3317 Asia Pacific CoreMedia Asia Pacific Pte. Ltd. 25 International Business Park #0–106 German Centre Singapore 609916 Tel + 65 .6562 .8866 Published: July 31, 2015 For more information, please visit our website: www.coremedia.com Email: [email protected] Copyright 2015. CoreMedia AG. All rights reserved. CoreMedia is a registered trademark of CoreMedia AG. All other trademarks are the property of their respective owner. (0715-TR-EN-TRA001)