
Welcome to Magma.
Magma provides an innovative, effective framework for delivering enterprise level Java web applications, coding faster and easier than before, while maximizing code reuse and integration possibilities.
Magma is an effort carried out at Apache Labs, and is already offering the following features :
- Open source (and open process) Apache Licensed code, complete freedom to use in commercial and open source applications
- 100% programmed and requiring only Java : developers will find a familiar, mature and mainstream programming platform
- No code generation for much simpler manteinance
- Lots of production-quality premades, ranging from message boards, blogs, social networking etc..
- Full customization of behaviour and appearance, even when using premades
- 100% Eclipse compatible : developers will use IDE services like code assist, debuggers, refactorings, visual editing ...
- Reduced coupling thanks to extensive annotation usage
- Legacy and third party code can be integrated thanks to bytecode weaving
- Completely XML configuration free : less error prone
- Extremely productive, incredibly mild learning curve
- Dynamicity with type safety : much less errors and complete freedom
- Total compilation grants maximum performances in the production environment
- Maven builds and artifact, complete interoperabiliy for entire ALM.
- JPA based persistence, 100% JPA compliance and portability (Hibernate, OpenJPA ...)
- Bean validation support, also inferred via normal JPA annotations, that propagates down to the view layer
- JUnit, HTMLUnit and Selenium test-friendly architecture
- Completely stateless, designed to scale, and highly REST friendly
- 100% standard Email support, already configured for SMTP servers like GMail
- Innovative URL rewriting engine to never miss a link again
- Easier than ever web controllers
- Embedded Jetty for fast developement avoiding endless deploys
- Fully CI (Continuous Integration, like Continuum, Hudson) compatible
Moreover, we are working hard to obtain :
- Completely compiler-checked code : no strings here and there causing runtime errors
- Automatic JDBC configuration for most popular databases
- Embedded HSQL database for fast developer setup
- Automated Selenium tests
- More support for writing entity finders and filters
- Security integration ranging from the bean to the web tier
- Unified logging system, for all your code and your third part libraries
- Spring and OSGi integration
If you want to learn more, start reading the 10 minutes introduction to understand Magma capabilities, or if you are more theory oriented read about the project vision and solutions it offers.
To start using it, there is no download needed, just follow the 10 minutes "Hello Database" application tutorial or the more advanced "Pet Store" explained tutorial.
If you like the idea, you can help us in many many way, even if you are not a Java programmer or an Apache committer.
As an Apache Lab, this project is not endorsed in any way by The Apache Foundation, but is simply hosted by the foundation servers in compliance with the Apache Labs policy.
All the code is released under the Apache License, version 2.0 .
Documentation
Documentation is, obviously, under development as the project evolves. Whenever possible, documentation is written before actual code following the "Document First" principle. So sometimes a "TODO" annotation is present in the documentation to state which parts of it still has to be implemented.
Technologies
Web site
APIs
Old documentation
This documentation is being moved and reorganized.