[92 total ]
Spring is a lightweight Java/J2EE application framework based on code published in "Expert One-on-One J2EE Design and Development" by Rod Johnson. It includes powerful JavaBeans-based configuration management applying Inversion-of-Control principles
... [More]
, a generic abstraction layer for transaction management allowing for pluggable transaction managers, a JDBC abstraction layer, integration with Hibernate, JDO, Apache OJB, and iBATIS SQL Maps, AOP functionality, and a flexible MVC Web application framework with multiple view technologies. There is also a .NET port available. [Less]
A seamless, aspect-oriented extension to the Java programming language. Provides clean modularization of crosscutting concerns, such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, and multi-object protocols.
FLOW3 is an offspring from the development of the upcoming TYPO3 5.0 Version, the newest version of the CMS. FLOW3 can be used independently of TYPO3 as a development framework It is also published under the GPL and thus Open Source. It's making extensive use of software development paradigms that had not been brought to PHP programming yet.
The AspectJ Development Tools (AJDT) project provides Eclipse platform based tool support for Aspect Oriented Software Development with AspectJ. AJDT offers a user experience that aims to be consistent with the Java Development Tools (JDT) when working with AspectJ projects and resources.
JBoss AOP is a 100% Pure Java aspected oriented framework usuable in any programming environment or tightly integrated with our application server. Aspects allow you to more easily modularize your code base when regular object oriented programming
... [More]
just doesn't fit the bill. It can provide a cleaner separation from application logic and system code. It provides a great way to expose integration points into your software. Combined with JDK 1.5 Annotations, it also is a great way to expand the Java language in a clean pluggable way rather than using annotations solely for code generation. [Less]
Omni ERP is an innovative business application platform; it is completely based in open source technologies and brings a whole new level of modularity and flexibility to the business solutions environment.
It uses a new approach combining new
... [More]
software engineering techniques like plugin based architecture, inversion of control and aspect oriented programming with a refreshing new RIA UI to bring a new level of experience to the SME market. [Less]
Compose* (or: ComposeStar) is a project that aims at enhancing the power of component- and object-based programming, so that software becomes easier to structure and modularize, hence easier to develop, maintain and extend. In particular, Compose*
... [More]
offers aspect-oriented programming (http://aosd.net) through the composition filters model (http://trese.cs.utwente.nl/oldhtml/composition_filters/). [Less]
Tudu Lists is an on-line application for managing todo lists. With Tudu Lists, todo lists can be easily accessed, edited and shared on the Web. It is a simple but effective project management tool.
StarLight offers Aspect Oriented Programming for .NET applications using the Composition Filters model.
Spring-Annotation is a library that enables the use or annotations to configure your application using spring-framework as a backend.
In the next versions it will enable the use of standard Java EE annotations as an alternative way to configure your application, but without a need for a full Java EE 5 application server.
A lightweight framework for bringing AOP to PHP.
The Azuki Framework is a java application framework designed to reduce the development, deployment and maintenance costs of software systems. It provides a rapid application assembly from known components in order to build large systems.
AspectDNG is a static .NET aspect weaver.
Spring Python is an offshoot of the Java-based SpringFramework and AcegiSecurityFramework, targeted for Python. Spring provides many useful features, and I wanted those same features available when working with Python.
Several key features
... [More]
include:
* Inversion of control
* Aspect oriented programming
* DatabaseTemplate
* Database transaction management
* Distributed remoting
* Security
You can pick and choose which parts to use. Visit the web site for more details.
The main library of Spring Python as well the sample applications are released under Apache License 2.0, making it a business friendly library. The SpringWiki sample application reuses a set of style sheets written for mediawiki that are GPL. [Less]
An implementation of Aspect-Oriented Programming for PHP that uses Dynamic Weaving, supports Aspect Genericity, and provides a framework to implement custom pointcut languages on top of it.
PostSharp Core is a platform for post-compilation enhancement of .NET assemblies. PostSharp Laos is an Aspect-Oriented Programming (AOP) famework the .NET. Using PostSharp Laos, you can design custom attributes that really add new behaviors to your code.
Inspired and influenced by the Java based Spring richclient project this projects goal is to help leveraging Springs power in desktop applications.
Unlike the Java version, which uses a frame based attempt to provide views for different
... [More]
application aspects (just like web applications), one of the main goals of Spring.NET RichClient is to retain and further improve Windows Forms design-time capabilities. It provides dependency injection into forms and user controls as well as input validation based on the Spring.NET Validation Framework. [Less]
Page-controller framework for PHP.
Transparent caching for the Spring Framework
Jdon is a meta framework , a rapid J2EE development framework. it has a simple but powerful ioc/aop core. and seamlessly supports two kinds of service: EJB and POJO services, it supplys a fast way for developing data crud and batch query functions.
Easy creation of decorators for methods and functions
A small collection of reusable aspects for use in J2SE applications.
Tabula is a Java Web Framework, comprised of several subprojects, such as a server and GUI tools. Right now there is a preview version of the server available for Windows and Linux.
The framework is based on SOFEA, removing the UI responsibilities
... [More]
from the server to other applications. The server itself deals with business logic and persistence, among other issues. In order to expose this functionality, there is a REST service layer, implemented with the RESTlet library. I've created a simple XML format specification to declare and configure the services, allowing for runtime changes. The implementation supports Java and Groovy classes as request handlers.
The main goal of the framework is to reduce app restarts during development as much as possible, while providing a simple environment for prototyping and developing small to medium applications.
The controller layer uses another project of mine, named JTAction. It's a library for handling composite actions. Each action is a state machine, where each state is built by several steps. Actions are cached but can be changed via a remote refresh request. Action steps can be implemented with Java or Groovy scripts. JTActions can also be used as request handlers for the service layer.
There is also a custom AOP system which defines an approach to create, edit and apply aspects to JTActions through a rule system based on request parameters. This allows to add for example logging and authorization aspects, and is already used to automatically refresh the REST service layer when any PUT, POST or DELETE methods are performed on the stored rest service configuration objects.
The persistence layer uses a custom persistence abstraction layer. Ideally, I would have used JPA, and though I like it, it doesn't support real time changes such as redefining groovy classes. The implementation uses Neodatis ODB, an object based database system, which is still under development, but is showing great promise.
There will be SWING-based editors for some of these components, such as configuring REST services, building JTActions from groovy scripts and applying aspects. The goal is to ease development of the whole application, hide any XML details from the developers, instead showing a configuration interface, and support runtime changes of the application.
The whole purpose of the project right now is to try out different ideas and approaches to web development. As such, currently this is a proof of concept and should not be used for deployment.
Due to time restraints, some aspects of the framework may be changed or removed. The source code also reflects the time restraints unfortunately, but as this is something I plan of using and developing along the way, it will improve. [Less]
The aim of this project is to create an AspectJ library making it possible to enforce Java code in so that some of the constraints and semantics of UML isn't lost in the translation into code.
The library currently supports features related to
... [More]
accessibility, design by contract, relationships and object’s state.
You can download a complete archive with documentation and source code in here. [Less]
Technique Abstraction Factory for Enterprise
An Aspect-Oriented XML Weaving Engine (AXLE)
Utilize conventions, code generation, templates, and best frameworks to simplify the implementing process of the web application on the Java platform.
This is a simple project which use AspectJ to visualize the method invocation during running of a Java program.
Currently, four kinds of output formats are supported:
Plain text, an indented plain text to present the call stack Dot format, you
... [More]
can use GraphViz to convert the dot format into gif, jpg, png, post script and other formats. HTML format, you can view this format in your browser, and HTML/Javascript based tree is used to visualize the call stack. Xml format, this is an interactive format, SpringGraph is used to visualize the xml as a undirected graph in flash. And current release contains a customized version of SpringGraph flash to view the xml format. Screenshots:
Dot format, converted by GraphViz into gif format:
HTML format:
XML format, visualzed with SpringGraph flash: [Less]
the MeSDK provides a light and small object implementation for core developing it includes the MeObjects, MeRTTI, and MeAOP etc.
The MeAOP Library is Aspect Oriented Programming for delphi. IMO, the aspect is the general feature in fact. It's a
... [More]
helper for object-oriented programming to re-use the feature(function), such as the Login feature. Aspect Oriented Programming attempts to aid programmers in the separation of features, or the breaking down of a program into distinct parts that overlap in functionality as little as possible.
distill/separate the general features from many classes; many classes can share the feature, so it need not to modify many classes if the feature've been changed. no necessary to modify the method when adding a new feature to the method. MeObjectsMeObjects Library for Delphi is a light object extension to make object type small and powerful. It makes the object type supports the ClassType, InheritsFrom and ClassName like the Class Type, but it's mini and faster than the delphi class type. You can treat it as mini-class type. The MeObjects Library is the MeSDK core too.
MeRTTIthe Mini Run-time Type Infomation object derived from MeObjects. the MeType is stream-able.
MeAOPThe MeAOP Library is Aspect Oriented Programming for delphi. IMO, the aspect is the general feature in fact. It's a helper for object-oriented programming to re-use the feature(function), such as the Login feature. Aspect Oriented Programming attempts to aid programmers in the separation of features, or the breaking down of a program into distinct parts that overlap in functionality as little as possible.
distill/separate the general features from many classes; many classes can share the feature, so it need not to modify many classes if the feature've been changed. no necessary to modify the method when adding a new feature to the method. I treat the Aspect Oriented Programming as Feature Oriented Programming.
MeRemoteThe MeRemote Features Library is the remote function and remote object Library for delphi. It's the feature-layer for the MeAOP.
MeServiceThe MeService Library is a mini general SOA(service(plugin)-oriented architecture) system framework.
MeScriptthe MeSDK Script Engine Core. It's the functional language script engine. but not ready yet. [Less]