miércoles, 13 de abril de 2011

filter en métodos "finder" (Liferay)

A partir de la versión 6 los métodos "finderByXXXX" pueden ser filtrados por permisos, cómo conseguirlo, aquí la solución:

http://issues.liferay.com/browse/lPS-9554


Resumen:
New methods will be autogenerated:

filterFindBy
filterCountBy etc

These methods will only be generated if :

1.) the bean has a simple primitive pk

2.) the bean has permission checke registered in resource-actions/....xml

3.) the bean has user id an group id fields

4.) the finder method has group id in it

May relax it in the future to generate more, but for now, these seem good.

domingo, 3 de abril de 2011

miércoles, 16 de marzo de 2011

Domain driven / MDA

http://www.javate.amattioli.it
http://www.liferay.com/es/community/wiki/-/wiki/Main/Service+Builder
http://sites.google.com/site/fornaxsculptor/
http://wiki.jrapid.com/w/Code_Generator_Tutorial



http://www.andromda.org

Recursos


http://www.voelter.de/
Contiene gran cantidad de presentaciones/apuntes acerca de MDA, DSL, generación de código, etc...
http://www.softmetaware.com/

Naked objects

http://en.wikipedia.org/wiki/Naked_objects



Software tools to support domain-driven design

Practicing DDD does not depend upon the use of any particular software tool or framework. Nonetheless, there is a growing number of open-source tools and frameworks that provide support to the specific patterns advocated in Evans' book or the general approach of DDD. Among these are:
  • Actifsource is a plug-in for Eclipse which enables software development combining DDD with model-driven engineering and code generation.
  • Apache Isis is the successor to the original Java implementation of the naked objects pattern. It directly supports the DDD concepts of Entity, Value, Repository, Factory, Domain Service. Architecturally it provides automatic dependency injection; with multiple viewers (web-based and RESTful), pluggable security and pluggable persistence stores.
  • Castle Windsor/MicroKernel: an Inversion of Control/Dependency Injection container for the Microsoft.NET Framework to provide Services, Repositories and Factories to consumers.
  • CodeFluent Entities: a model-driven software factory. It provides architects and developers a structured method and the corresponding tools to develop .NET applications, based on any type of architecture, from an ever changing business model and rules.
  • DataObjects.Net: rapid database application development framework supporting object-relational mapping and DDD.
  • Domdrides: A useful library for implementing DOMain-DRIven DESign in Java.
  • ECO (Domain Driven Design): Framework with database, class, code and state machine generation from UML diagrams by CapableObjects.
  • FLOW3: A PHP based application framework centered on DDD principles. Fosters clean Domain Models and supports the concept of Repository, Entity and Value Object. Also provides Dependency Injection and an AOP framework.
  • Habanero.NET (Habanero) is an Open Source Enterprise Application framework for creating Enterprise applications using the principles of Domain-driven design and implemented in .NET.
  • JavATE: a set of Java libraries that enables application development inspired by domain driven design.It gives you standard interfaces and implementations for the domain driven design building blocks so you can focus on your strategic design instead of reinventing the wheel of the building blocks each time.
  • ManyDesigns Portofino is an open source, model-driven web-application framework for high productivity and maintainability. It provides CRUD forms, relationships, workflow management, dashboards, breadcrumbs, searches, single sign-on, permissions, and reporting.
  • Metawidget: a User Interface widget that populates itself, at runtime, with UI components to match the properties of domain objects.
  • Naked Objects MVC: implements the naked objects pattern; runs under the ASP.NET MVC Framework; supports dependency injection; and provides re-usable implementations of the DDD concepts of Repository, Factory and Service.
  • NReco: lightweight open-source domain-specific MDD framework for .NET. Integrated with JQuery, Open NIC.NET, OGNL, Log4Net, Lucene.NET, SemWeb etc.
  • OpenMDX: Open source, Java based, MDA Framework supporting Java SE, Java EE, and .NET. OpenMDX differs from typical MDA frameworks in that "use models to directly drive the runtime behavior of operational systems".
  • OpenXava: Generates an AJAX application from JPA entities. Only it's needed to write the domain classes to obtain a ready to use application.
  • re-motion: DDD framework for .NET. Also contains components to hide implementation details of data access and object binding to ASP.NET forms.
  • Roma Meta Framework: DDD centric framework. The innovative holistic approach lets the designer/developer to view anything as a POJO: GUI, I18N, Persistence, etc.
  • Sculptor: Advanced Open source code-generation MDA tool for Java, that uses DDD as primary language and support also Event-driven architecture and CQRS. Sculptor is using Eclipse oAW as generation framework and generate code which fits to many standard/well-know frameworks and engines. It can generate also many types of GUIs, from GUI design definition.
  • Sculpture - Model Your Life: Sculpture is one of the most powerful Open Source Model-driven development Generators. It can be used for everything from simple CRUD applications to complex enterprise applications - Sculpture comes with a list of ready-made Molds for common architectures like NHibernate, Entity Framework, WCF, CSLA, Silverlight, WPF, and ASP.NET MVC.
  • Strandz: A DDD framework that provides implementation independence from both the UI layer and domain layer of the application. The programmer constructs a wire model of the application using special classes.
  • TrueView for .NET: An easy-to-use framework that supports DDD and the naked objects pattern. Useful for teams starting out with DDD.
  • Tynamo: Tynamo is open source, model-driven, full-stack web framework based on Tapestry 5, implemented in Java in the spirit of naked objects pattern