CoreMedia Technology Radar

Werbung
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)
Herunterladen