mainpage.doxy
1 /*!
2 \mainpage Model Driven Development with PHP
3 
4 \htmlonly
5 <div class="jumbotron">
6  <h1>wCMF</h1>
7  <h2>A MDSD framework for building<br><kbd>reliable</kbd> <kbd>maintainable</kbd> and <kbd>extendable</kbd><br>web applications with PHP</h2>
8  <a href="gettingstarted.html" class="btn btn-success btn-lg">Getting started</a>
9 </div>
10 
11 <h2>Model-Driven Software Development</h2>
12 wCMF features a pragmatic Model-Driven Software Development (<em>MDSD</em>) approach that has the following advantages:<br><br>
13 <ul>
14  <li><strong>Single Source of Truth</strong> All important aspects of the application are defined in one place - the <em>model</em>.</li>
15  <li><strong>Consistency</strong> The code generator takes care that model changes are applied consistently in all relevant places, e.g. if an entity attribute
16  is changed, added or deleted, all persistence and domain classes are changed appropriately. This results in less errors and better code quality.</li>
17  <li><strong>Increased productivity</strong> By spending less time on repetitive tasks, developers can concentrate more on the application domain.</li>
18 </ul>
19 
20 <br>Creating a wCMF-based application basically involves three steps:<br><br>
21 
22 <div class="row">
23  <div class="col-md-4"><h3><i class="fa fa-sitemap fa-2x pull-left"></i> Model</h3>
24  Start by modeling your application in wCMF's UML based Domain Specific Language (<em>DSL</em>).
25  It not only supports defining the domain model, controllers and views, but also configuration and application flow.
26  Graphical editors are available from the <a href="http://www.eclipse.org/papyrus/" target="_blank">Eclipse</a> and
27  <a href="http://sourceforge.net/projects/olympos/" target="_blank">Olympos</a> projects.
28  <i class="fa fa-angle-double-right"></i> <a href="model.html">Read more</a>
29  </div>
30  <div class="col-md-4"><h3><i class="fa fa-gears fa-2x pull-left"></i> Build</h3>
31  Run the code generator to create persistence mappers, controllers, views and configuration files from the model.
32  After that a web application based on the <a href="http://dojotoolkit.org/" target="_blank">Dojo Toolkit</a> is ready to be used.
33  It allows to manage entity instances and includes a full text search, localization support and user/role management.
34  <i class="fa fa-angle-double-right"></i> <a href="model.html#Generator">Read more</a>
35  </div>
36  <div class="col-md-4"><h3><i class="fa fa-expand fa-2x pull-left"></i> Extend</h3>
37  wCMF's clear object oriented design is based on well known design patterns, that allow to extend the application in every aspect.
38  Custom code is protected from subsequent generator runs, which ensures that future requirements can be implemented
39  while model and code stay in synch.
40  <i class="fa fa-angle-double-right"></i> <a href="architecture.html">Read more</a>
41  </div>
42 </div>
43 
44 <div class="row">
45  <h2>Features</h2>
46  <div class="col-md-6">
47  <ul>
48  <li>Full featured object persistence layer:
49  <ul>
50  <li>Flexible mapper architecture with adapter to RDBMS</li>
51  <li>Optimistic and pessimistic object locking</li>
52  <li>Searching using template based object query and criteria api</li>
53  <li>Query caching and eager relation loading</li>
54  <li>Transaction support</li>
55  </ul>
56  </li>
57  <li>Role based permission management (for actions, types, instances, instance properties)</li>
58  <li>Event system</li>
59  </ul>
60  </div>
61  <div class="col-md-6">
62  <ul>
63  <li>Dependency injection support</li>
64  <li>Definition of the application flow through configuration files</li>
65  <li><a href="http://www.smarty.net/" target="_blank">Smarty Template Engine</a> integration</li>
66  <li><a href="http://framework.zend.com/manual/1.12/en/zend.search.lucene.overview.html" target="_blank">Lucene Search Engine</a> integration</li>
67  <li>I18n support</li>
68  <li>Flexible logging (<a href="https://github.com/Seldaek/monolog" target="_blank">Monolog</a>, <a href="https://logging.apache.org/log4php/" target="_blank">log4php</a>)</li>
69  <li>SOAP and REST interface supporting CRUD operations on all objects</li>
70  <li><a href="http://wiki.eclipse.org/MDT-UML2">Eclipse MDT/UML2</a> compatible code generator</li>
71  <li>Modern <a href="https://dojotoolkit.org/">Dojo</a> based <a href="https://github.com/iherwig/wcmf-default-app">default application</a> for content management</li>
72  </ul>
73  </div>
74 </div>
75 
76 <h3>License</h3>
77 <p>wCMF is available under an open source license (<a href="https://github.com/iherwig/wcmf/blob/master/LICENSE">MIT License</a>).</p>
78 <p><!-- fix generated source -->
79 \endhtmlonly
80 */