CoreMedia Technology Radar
Transcription
CoreMedia Technology Radar
BUSINESS SOLUTIONS TECHNOLOGY RADAR GUIDE: CDN CHALLENGE www.coremedia.com CoreMedia Technology Radar Emerging technologies and trends that affect the market today. March 2014 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 Load and stress testing [7] 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 [8] 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 [9] 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[10] 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[11] 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. While Apache Maven is the standard build system for Java projects, several JavaScript Build Tools [12] have to be combined to achieve a superior front end developer experience. Currently, Grunt is the build automation tool of choice, and Bower is typically used for dependency management. 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. Since Sencha announced to enable Ext JS for touch devices, we are dropping the mobile-only Sencha Touch from the Technology Radar. jQuery [16] 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. The Responsive Web Design [17] (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 HTML5 [18] is usually used as an umbrella term for several web technologies such as the latest versions of HTML, CSS, and JavaScript. These are the technologies that the future web is built upon. They target at making browser plugins like FlashPlayer obsolete and replace native applications where possible. Even in its current, non-final state, some HTML5 solutions are to be preferred over HTML4. For example, HTML5 offline storage should be used instead of cookies to store client-side data in the browser. User Experience Design [19] 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 [20] 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 [21] 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. 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 [20] are a necessity today when developing rich applications using HTML5 to target mobile devices. Web technologies work cross-platform and thus allow us to reuse client code, but do not yet provide access to certain functions of a device such as camera or gyroscope. Hybrid app frameworks narrow this gap to native apps. MXML [24] is Apache Flex’ 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, JavaScript has become one of the most popular programming languages, and many new JavaScript programming paradigms, frameworks and tools have appeared. For asynchronous programming, JavaScript rediscovered Promises (e.g. implemented in jQuery and “Q”). Client-side errors are captured and analyzed on the server. Several frameworks (AngularJS, Knockout, Backbone, EmberJS, 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. 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 focusses on Dart. JJOnly recently, JavaFX has arrived as a viable successor of Java Swing and received a lot of positive feedback. It does neither target mobile devices nor align with our decision for web technologies. 9 TECHNOLOGY RADAR Integration ESSENTIAL Java [28] 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 [29] 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 [30] 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. XML [31] is well established to create, manage and exchange data in a format that is both human and machine readable. It is also used for domain-specific languages (DSL), e.g. application configuration or declarative user interface definition. 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 towards 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. JavaScript Object Notation (JSON [34]) is a simple, structured, text-based data format. Due to its compact representation it is used as a storage and data transfer format. An Analytics Integration [35] 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 [36] 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 with integrations for IBM WebSphere Commerce and SAP WCEM. RELEVANT Online Identity Integration [37] 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 [38] is a HTML5-based, bidirectional message exchange protocol for real time web applications significantly enhancing the user experience. Application Servers [39] 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 [40] (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 [41] 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 [42] 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 [43] 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 towards this technology. OData [44] is an open web protocol for querying and updating data. The protocol allows consumers to query a data source over HTTP and receive results in formats like Atom, JSON or plain XML, including pagination, ordering or filtering of the data. OData is an emerging protocol that can be used for a variety of data integration use cases. Edge Side Includes [45] (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 [46] 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 [47]. With the announcement of iBeacon, Apple has drawn new attention to In-store Location Tracking and Targeting [48]. 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 [49] 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 [50] 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 [51] 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 [52] reduces time to market of development increments and enables a fast feedback loop. Apache Solr [53] 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 [54] 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 [55] 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. Elastic Search [56] is a fast, horizontally scalable and highly available analytics and search engine which offers a simple setup and operation. Its document-oriented and schema-less data model allows for more flexible CMS content models. Today it is used for indexing of user generated content and user profiles in the CoreMedia CMS. RELEVANT The foundation of Cloud Computing [57] 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 [58] (CDN) offer to outsource web delivery infrastructure by moving static data closer to end users thus reducing load on the origin servers. Web Accelerators [59] 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. Amazon Web Services [60] is the leading provider for public and virtual private cloud services. Opscode Chef [61] 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. Currently, Chef seems to have more momentum than its alternative Puppet. Private Cloud Automation [62] 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 [63] is key to gather current performance metrics and overall operational status of a system. With an increasing demand for automation in operating large and distributed systems comes the need for a proper monitoring integrated into the software. 14 INTERESTING Infrastructure as a Service [64] (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 [65] (PaaS) automate all the tasks to provision, configure, maintain, and scale hardware and software structure necessary to run an application. Zabbix [66] 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. Apache Hadoop [67] is the open source big data platform, which created an ecosystem for strategic big data analysis in large corporations. Hadoop related projects like HBase and ZooKeeper may become relevant for future CMS use cases. SAP HANA database technology [68] promises real time analytical data processing functionalities to gain instant business insights which in turn help creating better digital experiences. This is particularly true for e-Commerce applications where the increasing amount of valuable customer data helps to seize new opportunities. Docker [69] is a platform to create, run and manage machine images based on Linux Lightweight Containers (LXC). In combination, they significantly reduce operating system overhead by encapsulating only one application per container and by providing a repository based approach to manage images. Docker has recently gained a lot of attention and notable community support. 15 TECHNOLOGY RADAR About the Authors Malte Franken works as Product Manager at CoreMedia. He has a background in Technical Consulting, where he has accomplished countless implementation projects with customers including Deutsche Telekom, MLP, Turkcell, SoftBank and the Australian Broadcasting Corporation (ABC). Malte holds a diploma in Computer Science, a diploma in Management of Software Projects and looks back on more than 10 years of experience in Content Management. Björn Gaworski has more than eight 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 and has a background in Software Development and Project Management, where he has been responsible for Editor, 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 on build, release and deployment automation with more than 6 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 and researching on 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] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] http://maven.apache.org/ http://martinfowler.com/articles/continuousIntegration.html http://www.jetbrains.com/idea/ http://git-scm.com/ http://www.eclipse.org/ http://docs.seleniumhq.org/ http://en.wikipedia.org/wiki/Stress_testing, http://en.wikipedia.org/wiki/Load_testing http://vagrantup.com/ http://www.hongkiat.com/blog/cloud-ide-developers/ http://groovy.codehaus.org/ http://www.packer.io/ http://gruntjs.com/, http://bower.io/ [13] [14] [15] [16] [17] [18] [19] [20] [22] [24] [27] http://en.wikipedia.org/wiki/Javascript http://en.wikipedia.org/wiki/ActionScript#ActionScript_3.0, http://www.jangaroo.net/ http://www.sencha.com/products/extjs/, http://www.sencha.com/blog/ext-js-on-tap/ http://jquery.com/ http://en.wikipedia.org/wiki/Responsive_web_design http://en.wikipedia.org/wiki/HTML5 http://en.wikipedia.org/wiki/User_experience_design http://freemarker.sourceforge.net/ http://sass-lang.com/ http://en.wikipedia.org/wiki/MXML http://en.wikipedia.org/wiki/Asynchronous_module_definition [28] [30] [31] [32] [33] [34] [35] [38] [39] [40] [44] [45] [47] [48] http://en.wikipedia.org/wiki/Java_(programming_language) http://www.springsource.org/spring-framework http://en.wikipedia.org/wiki/XML http://en.wikipedia.org/wiki/Single_sign-on http://en.wikipedia.org/wiki/REST http://en.wikipedia.org/wiki/JSON http://en.wikipedia.org/wiki/Web_analytics http://en.wikipedia.org/wiki/WebSockets http://en.wikipedia.org/wiki/Enterprise_application_server http://en.wikipedia.org/wiki/Digital_asset_management http://en.wikipedia.org/wiki/Odata http://en.wikipedia.org/wiki/Edge_Side_Includes http://en.wikipedia.org/wiki/Multi_variate_testing http://en.wikipedia.org/wiki/IBeacon [50] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [64] [65] [66] [67] [68] [69] http://en.wikipedia.org/wiki/Virtualization http://en.wikipedia.org/wiki/Continuous_delivery http://lucene.apache.org/solr/ http://en.wikipedia.org/wiki/Relational_database_management_system http://www.mongodb.org/ http://www.elasticsearch.org/ http://en.wikipedia.org/wiki/Cloud_computing http://en.wikipedia.org/wiki/Content_delivery_network http://en.wikipedia.org/wiki/Web_accelerator http://aws.amazon.com/ http://www.opscode.com/chef/ http://en.wikipedia.org/wiki/Infrastructure_as_a_service#Infrastructure_as_a_service_.28IaaS.29 http://en.wikipedia.org/wiki/Platform_as_a_service http://www.zabbix.com/ http://hadoop.apache.org/ http://www.saphana.com/ 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 118 Second Street, 5th Floor San Francisco CA 94105 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 For more information, please visit our website: www.coremedia.com Email: technology-board@coremedia.com Copyright 2014. CoreMedia AG. All rights reserved. CoreMedia is a registered trademark of CoreMedia AG. All other trademarks are the property of their respective owner. (0314-TR-EN-TRA001)