After one year of work, Eclipse SCA 1.0 is ready.This is a new project of Eclipse STP (Soa Tool Platform) for assembly of SOA applications.To understand the goal of SCA standard (Service Component Architecture, available here), the easiest way is to use an example:you have one GUI component (for exemple, C# based) named "A" and it need to communicate with one business component "B" write EJB and Java and with another external component "C" written in PHP and only accessible with WebService. With SCA, you just need to declare each component, a reference (required interface) on A (declare with C# interface), and two services on B and C.The SCA server will automaticly translate protocols and API language to ensure everybody can communicate with everybody.In a nutshell, SCA isn't a new middleware (it rely on existing middlewares or libraries). It's like Spring, but as a specification and for any protocols and languages.The main feature of Eclipse SCA project is a nice designer. It's used...
Blog
The second one (Part 2) consists in creating Acceleo services.This solution provides additionnal functionalities in relation to the first one. Indeed, as the rules are written in Java language, you can decide that a specific rule won't overload a generic one for example...I've created a "ValidatorServices" class which implements a mechanism to validate a model and get the report from templates, thanks to the services that it provides. The end-user has just to extend this one and to implement the "checkRules" abstract protected method in order to define his own rules.He can use "validate", "isErrorChecking" or "isWarningChecking" services to validate his model.But the main new feature consists in giving the possibility to use the result of the validation report and to act on the generation or not. Let's interest by this feature:The "isErrorChecking" and "isWarningChecking" are able to notify if an error/warning at least has been detected. So, "isErrorChecking" may be used for example to...
With Acceleo, you can define your own functional validation rules on a model and log messages according to them, during code generation.I suggest different ways to define the validation rules.The first one (Part 1) consists in creating a simple Acceleo template where each script defines a set of rules to check on a particular meta-class of the meta-model.I've created basic java services to log messages with different severities. These messages take as parameter the condition to check (a boolean) and the text to display if this one is false.We knows that a script may be called if the « file » parameter is setted or if an other script calls it. We also knows that this parameter is used to decide to generate or not the code and to specify where it has to be generated.In our specific case, we want to activate rules sets without generating code. So, each script owns a « file » parameter which is a call script returning nothing and which gets the particularity to call back the right script t...
As a proof of concept, we create an Acceleo generator for UML2 Statechart diagram.This generator has been made as a TopCased work (to be include, I hope, as a built-in TopCased generator).Here is a nice flash demo: http://www.obeo.fr/download/transfert/capture1.htmThe source code generated uses Smuc framework, but it will be easy to target any standard technology (like C, Java, ...).Thanks to Cedric Notot for all his work on this generator and who experiment new strategies for models validation with Acceleo.Lien d'origineAuteur d'origine: Etienne Juliot...
Have you ever see EMF with Rhapsody ?Let's see : http://www.rhapsody.com/emfIs that you, Ed, with the black tee shirt ?Very good :)Lien d'origineAuteur d'origine: Etienne Juliot...