Professional Documents
Culture Documents
Better Ideas
Unique Processes
Current Competitive Advantage
Too often IT projects are challenged in terms of Model-Driven Development has emerged as one
cost override, scope creep, long timelines and of the leading approaches for enabling rapid,
misaligned end user expectations. According to collaborative development. Because it uses visual
the Standish Group, this is the case for 94% of models for defining application logic, process
large IT projects. Of those that fail altogether, flows, user interfaces, etc., MDD empowers both
71% do so because of poor requirements developers and business users to rapidly build
management. applications, without the need for labor-intensive,
low-level coding. Consequently, its significantly
Our vision is to truly align business and IT and faster than traditional programming languages
foster collaboration throughout the complete like C# and Java.
lifecycle of the application, from requirements
gathering to development, to deployment and The Mendix platform interprets the models in the
management of the apps. Collaboration also runtime, which means that the model is actually
calls for a highly iterative approach and instant the application. As opposed to approaches where
feedback mechanisms in every stage of the a visually modeled design would actually generate
lifecycle. Last but not least, we believe that speed code (e.g. Java or .Net), our model interpretation
of development or better time to value is critical approach has significant advantages:
to meet business goals.
R
N BU
TE
IG
BO
RA
S
IL
CO L L A
DE
Figure 3.
TE
Extending models with custom code is The App Delivery Cycle
DE
AG
controlled more elegantly as the model is
P
N LO
MA Y
FEE
D B AC K
aware of the custom code, and includes
it in consistency checks, in contrast to
custom code insertion into generated code. While Model-Driven Development is a key
architectural choice, the Mendix closed-loop
Mendixs model interpretation approach approach to application delivery is equally
solves the fundamental round-trip problem important in aligning business and IT for fruitful
of code generation, whereby changes in collaboration. The complete app delivery cycle is
the model would conflict with custom code natively supported in the Mendix platform:
extensions.
Design
Monitoring and analyzing application Mendix supports direct capture of requirements
behavior in the runtime can be set up more and allows teams to refine and prioritize user
dynamically and flexibly versus defining stories; estimate, plan and monitor SCRUM
monitor parameters beforehand. sprints; and manage releases.
Apps
Figure 4. Mendix App Platform Deployment Options
Runtime Services
Cloud Dev
Portal Deployment Services Center
Figure 8. Sprint
Burndown Chart
Internationalization of user
Internationali- interface based on i18N
zation standard.
Business Server
The Build Server creates deployment packages
from artifacts such as models, style sheets,
custom java classes, etc. in the app project on
the Team Server where all the application artifacts
are versioned and stored in app project folders.
App
Deployment
Models Packages
Business Team Cloud
Modeler Server Portal
Mendix
Business
Models Server
Deployment
Packages
Build Package
Server Repository App Environment
3. Deploy in App
Test Environment
Models
4. Start App in
Business Team Cloud Test Environment
Modeler Server Portal
Mendix
5. Start Business
User Stories 1. Get Latest Commit Test Script Server
2. Build
Deployment
Packages
Build Package
Projects Server Repository Selenium App Environment
6. Feedback
Export Import
Package Package
Figure 21. The Mendix App Store Business Team Business
Modeler Server Modeler
Building Blocks
For developers, the App Store offers a rich
repository of re-usable building blocks that can
significantly accelerate development productivity.
These building blocks are shared in the Mendix Project X Project Y
community as open source items or commercial
products. The App Store can be accessed on
Figure 22. Exporting and Importing Modules
the web at appstore.mendix.com, from the
Launchpad or is directly accessible from the
Functionality can be re-used time and Figure 24. Runtime Use of App Services
again across multiple apps by making it
a service with its own and independent
lifecycle. App Services have a versioned mappings. In the example below, the Item
API to achieve this. Master App is called by three different
applications. As Mendix supports versioned
App Services, multiple versions of the App
Service can be used simultaneously, which
is useful to support more advanced lifecycle
management and stepwise migration of the
app service.
Models
App 1
Business App 1 Team Package
Modeler Server App 2 Repository
Mendix
Business
Deployment Deployment
Server
Models
Packages Package App 2
Deployment
Package App 1
Models
Register App Service
App 2 Build Cloud Subscription for App 2
Server Portal
App 1
Mendix
Business
Server
Business App
Modeler Store
Import Interface
Definition
Custom App Services Customers can without the risk of getting stuck in device
define App Services as well to connect specific UI adoptions through coding.
Re-use of assets on multiple levels of the Mendix Client as JavaScript libraries running
granularity: in the browser. The Logic and Data layers are
implemented in the Mendix Business Server. The
Application modules can be published
Mendix Business Server itself is built in Java and
to the public and / or private App
Store and be consumed in other app Scala.
development projects as functional
modules, technical (integration)
Mendix Client
modules or UI widgets.
Import Module
Import Widget
App
Publish App Service
Store
Excel
Orders Import
Custom Widgets
For developers, the Mendix Client offers an
extensive and well-documented API, so custom
widgets can be added to the experience. These
Figure 28. Mendix HTML UI
widgets can be configured within the Mendix
Business Modeler.
The Mendix App Platform enables you to extend
your existing business processes to mobile
Mendix Business Server
devices. Mendix supports web and hybrid
In essence, the Mendix Business Server contains
(Cordova) mobile forms and is fully HTML5
an integrated set of run-time engines responsible
and CSS3 compliant which makes it platform
for the interpretation and execution of the
independent.
models in run-time. The Business Server itself has
a modular structure with a core service interface
The Mendix Client has a core layer for session
that connects all modules. Each module provides
management, caching, an event subscribe
services to implement a DSL.
Mendix ID
Infrastructure as a Service -
Access & Security Services
Cloud Portal
SSL
Load-balanced
Routing Layer
Controller
Service Broker
User
Stories
The result of the development activities is an app
Models
Runtime Team
Server that contains a domain model, user interfaces
Deployment
Models and process and application logic defined as
microflows. The models are all stored under the
project ID in the Team Server. From the Team
Cloud Server, the deployment packages to run the app
Portal Build Business
Server Modeler are created. Its possible to do this directly from
Apps & Modules the Business Modeler as well, which triggers the
same functionality in the Team Server. Apps and
Deployment Package building blocks like modules or widgets can be
Packages References
Package
Repository
App
Store published to the (enterprise) App Store for re-use.
Mendix ID
Infrastructure as a Service -
Access & Security Services
Cloud Portal
SSL
Load-balanced
Routing Layer
91
of requests by load generators
targeted analysis. For example, the Live Debugger % offered to the server were handled
allows a developer or performance engineer to within 10ms, & 99% below 100ms
monitor one specific user session remotely and
zoom into all relevant performance parameters
for that specific session. 10 k
users
working in the application will not
notice any decline in performance
Infrastructure as a Service -
Access & Security Services
Cloud Portal
SSL
Load-balanced
Routing Layer
Infrastructure as a Service -
Access & Security Services
Cloud Portal
SSL
Load-balanced
Routing Layer
SSL SSL
Data
Replication
Data
Replication
Mendix
Projects Server Cloud SVN
with the Projects module, Team Server and Build
Mendix Cloud
Server, are exclusively offered as a cloud service,
On Premise
so its the actual deployment of apps in test,
Get Get SVN
Local Business
SVN Modeler
The platform services MxID and Cloud Portal are
not available as on-premise services, so identity
Figure 35. Options for using SVN Repository
management has to be arranged with 3rd party
tools like Active Directory and the deployment
and configuration management aspects with
other 3rd party DevOps and platform monitoring
tools.
Package
Repository
For supported versions of web servers, operating
Mendix Mendix Mendix
Business Business Business systems and databases, see the systems
Server Server Server
requirements for the latest Mendix release as
Mendix described in the release Reference Guide.
Repository
Mendix is the app platform company for the enterprise. We enable companies to build, integrate and deploy
web and mobile applications faster and with better results, effectively driving ROI in days not months. Learn
more, join our user community and get started for free at now.mendix.com.