OW2 FraSCAti is itself implemented as an SCA application composed of 13 SCA composites, for a total of 91 SCA components. Then OW2 FraSCAti is the biggest SCA application to our knowledge.
Most of OW2 FraSCAti features are often implemented by just one or two SCA components. Following figures show all SCA composites and their SCA components, aka all OW2 FraSCAti features, part of the OW2 FraSCAti SPL. But don't forget that most of the OW2 FraSCAti features are optional and could be selected "à la carte". Then an SCA component is present if and only if the associated feature is selected, aka the Maven module implementing it is present in the classpath.
Following figure shows the root OW2 FraSCAti's SCA composite named org.ow2.frascati.FraSCAti
.
This composite contains nine SCA components implementing all root features of the OW2 FraSCAti feature model:
sca-parser
implements feature ScaParser
,
assembly-factory
implements feature AssemblyFactory
,
component-factory
implements feature ComponentFactory
,
binding-factory
implements feature BindingFactory
,
explorer
implements feature Explorer
,
fscript
implements feature Fscript
,
jmx
implements feature JMX
, and
remote
implements feature RemoteManagement
.
Each of these SCA components is itself implemented as an SCA composite.
The component services
is implemented by the SCA composite org.ow2.frascati.Services
.
This composite is currently empty as shown by following figure.
The component sca-parser
is implemented by the SCA composite org.ow2.frascati.parser.Parser
.
This composite contains five SCA components:
component-type-parser
to parse SCA component type descriptors (i.e., “.componentType” files),
composite-parser
to parse SCA composite descriptors (i.e., “.composite” files),
constraining-type-parser
to parse SCA constraining type descriptors (i.e., “.constrainingType” files),
contribution-parser
to parse SCA contribution descriptors (i.e., “META-INF/sca-contribution.xml” files), and
sca-parser
is a generic parser for all SCA descriptors.
The component composite-parser
is implemented by the SCA composite org.ow2.frascati.parser.CompositeParser
.
This composite contains eleven SCA components.
The component sca-parser
is implemented by the SCA composite org.ow2.frascati.parser.ScaParser
.
This composite contains six SCA components implementing six OW2 FraSCAti features:
sca-parser
implements feature Metamodels
,
sca-metamodel
implements feature MM_SCA
,
sca-metamodel-frascati
implements feature MM_FraSCAti
,
sca-metamodel-tuscany
implements feature MM_Tuscany
,
sca-metamodel-upnp
implements feature MM_UPnP
, and
sca-metamodel-native
implements feature MM_Native
.
The component assembly-factory
is implemented by the SCA composite org.ow2.frascati.assembly.factory.AssemblyFactory
.
This composite contains forty SCA components implementing twenty seven OW2 FraSCAti features:
assembly-factory
implements feature AssemblyFactory
,
sca-composite
processes <composite .../>
XML elements,
sca-composite-service
processes composite <service .../>
XML elements,
sca-composite-reference
processes composite <reference .../>
XML elements,
sca-composite-property
processes composite <property .../>
XML elements,
sca-wire
processes composite <wire .../>
XML elements,
sca-component
processes composite <component .../>
XML elements,
sca-component-service
processes component <service .../>
XML elements,
sca-component-reference
processes component <reference .../>
XML elements,
sca-component-property
processes component <property .../>
XML elements,
sca-implementation
implements feature Implementations
and processes <implementation .../>
XML elements,
sca-implementation-composite
implements feature Implementation_Composite
and processes <implementation.composite .../>
XML elements,
sca-implementation-java
implements feature Implementation_Java
and processes <implementation.java .../>
XML elements,
sca-implementation-bpel
implements feature Implementation_BPEL
and processes <implementation.bpel .../>
XML elements,
sca-implementation-spring
implements feature Implementation_Spring
and processes <implementation.spring .../>
XML elements,
frascati-implementation-fractal
implements feature Implementation_Fractal
and processes <implementation.fractal .../>
XML elements,
frascati-implementation-osgi
implements feature Implementation_OSGi
and processes <implementation.osgi .../>
XML elements,
frascati-implementation-script
implements feature Implementation_Script
and processes <implementation.script .../>
XML elements,
frascati-implementation-resource
implements feature Implementation_Resource
and processes <implementation.resource .../>
XML elements,
sca-interface
implements feature Interfaces
and processes <interface .../>
XML elements,
sca-interface-java
implements feature Interface_Java
and processes <interface.java .../>
XML elements,
sca-interface-wsdl
implements feature Interface_WSDL
and processes <interface.wsdl .../>
XML elements,
sca-interface-native
implements feature Interface_Native
and processes <interface.native .../>
XML elements,
sca-binding
implements feature Bindings
and processes <binding .../>
XML elements,
sca-binding-sca
implements feature Binding_SCA
and processes <binding.sca .../>
XML elements,
frascati-binding-ws
implements feature Binding_WS
and processes <binding.ws .../>
XML elements,
frascati-binding-jms
implements feature Binding_JMS
and processes <binding.jms .../>
XML elements,
frascati-binding-rmi
implements feature Binding_JavaRMI
and processes <binding.rmi .../>
XML elements,
frascati-binding-http
implements feature Binding_HTTP
and processes <binding.http .../>
XML elements,
frascati-binding-jsonrpc
implements feature Binding_JSON_RPC
and processes <binding.jsonrpc .../>
XML elements,
frascati-binding-rest
implements feature Binding_REST
and processes <binding.rest .../>
XML elements,
frascati-binding-upnp
implements feature Binding_UPnP
and processes <binding.upnp .../>
XML elements,
frascati-binding-jna
implements feature Binding_JNA
and processes <binding.jna .../>
XML elements,
sca-property-type-java
implements feature Property_Java
,
sca-property-type-xsd
implements feature Property_XSD
,
sca-property-type-jaxb
implements feature Property_JAXB
,
bpel-engine
is the BPEL engine used,
wsdl-compiler
is the WSDL to Java compiler used,
jnaerator
is the JNA generator used, and
servlet-manager
manages Servlets.
The component component-factory
is implemented by the SCA composite org.ow2.frascati.component.factory.ComponentFactory
.
This composite contains five SCA components implementing five OW2 FraSCAti features:
factory
implements feature MembraneFactories
,
tinfi-oo
implements feature MF_Tinfi
,
osgi-provider
implements feature MF_OSGi
,
julia
implements feature MF_Julia
, and
juliac
implements feature MembraneGeneration
.
The component juliac
is implemented by the SCA composite org.ow2.frascati.component.factory.juliac.Juliac
.
This composite contains five SCA components implementing six OW2 FraSCAti features:
juliac
implements both features MembraneGenerators
and JavaCompilers
,
tinfi-oo
implements feature MG_Tinfi
,
osgi
implements feature MG_OSGi
,
jdk6-compiler
implements feature JDK6
, and
jdt-compiler
implements feature JDT
.
The component binding-factory
is implemented by the SCA composite org.ow2.frascati.binding.factory.BindingFactory
.
This composite contains two SCA components implementing the OW2 FraSCAti feature BindingFactory
.
The component explorer
is implemented by the SCA composite org.ow2.frascati.explorer.Explorer
.
This composite contains two SCA components implementing the OW2 FraSCAti feature Explorer
.
The component fscript
is implemented by the SCA composite org.ow2.frascati.fscript.FScript
.
This composite contains two SCA components implementing the OW2 FraSCAti feature Fscript
.
The component jmx
is implemented by the SCA composite org.ow2.frascati.jmx.Jmx
.
This composite contains one SCA component implementing the OW2 FraSCAti feature JMX
.
The component remote
is implemented by the SCA composite org.ow2.frascati.remote.Remote
.
This composite contains one SCA component implementing the OW2 FraSCAti feature RemoteManagement
.
As OW2 FraSCAti is implemented as an SCA composite and SCA components, then OW2 FraSCAti could be introspected and reconfigured at runtime via its own features: OW2 FraSCAti Explorer, OW2 FraSCAti FScript, OW2 FraSCAti JMX, and OW2 FraSCAti Remote API.
Following figure shows the introspection of a possible OW2 FraSCAti configuration with OW2 FraSCAti Explorer:
Following figure shows the introspection of a possible OW2 FraSCAti configuration with JConsole: