incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Update of "Synapse/InProgress/Registry" by Asankha Perera
Date Tue, 27 Jun 2006 13:48:05 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The following page has been changed by Asankha Perera:
http://wiki.apache.org/incubator/Synapse/InProgress/Registry

The comment on the change is:
Create

New page:
= A Registry/Repository for Synapse =

The registry will expose a Java interface so that it could be used (embedded) in the same
JVM as Synape. In addition it will expose a proxy client interface to a remote repository.
An implementation of the repository could be something as simple as an in-memory hashtable,
or a DB or file system backed persistent system.

Example usage of the Registry within the Synapse configuration laguage

'''Define one or more registries'''

{{{
  <registry name="reg-name" provider="java.class.name for o.a.foo.Registry impl" default="true|false">
    <property name="p1" value=".."/>*
  </registry>
}}}
	
Registry name would be a name local to the Synapse configuration, to refer to something defined
within this particular registry. The provider class and the properties would create the registry
(or client proxy) required.

One registry definition could be marked as "default" and if a usage does not explicitly specify
the name of a registry, this would be used by default.

Within a Synapse configuration, it would now be possible to refer to items defined in the
above registry.

e.g. 

'''# 1. Define an endpoint, by looking up an EPR type'''

{{{
  <endpoint name="xxx">
    <lookup-epr key="endpoint-key" [registry="reg-name"]/>
  </endpoint>
}}}
	
This would fetch the endpoint EPR from the registry using the given key. A variation of this
would be an inline endpoint definition within a send mediator as follows, which uses the 'To'
address of a message to retrieve the EPR of its destination.

{{{
  <send>
    <endpoint>
      <lookup-epr key="getProperty('to-address')" [registry="reg-name"]/>
    </endpoint>
  </send>
}}}

'''# 2. Import definitions, by looking up Synapse XML fragments'''

{{{
  <import key="import-key" [registry="reg-name"]/>
}}}
	
This would import a Synapse XML fragment from the registry using the given key. It would be
possible to import any valid XML fragment of a Synape configuration. (e.g. sequence, endpoint,
property etc.)

The registry would natively support wsdl, xsd, policy and xml, and would be extensible to
be able to store any other type of content as well. When a wsdl is imported into the registry,
it would fetch all imports such as xsd's and change the references to the local copies.

'''# 3. Store WSDL, XSD, Policy, XSLT etc for use by Synapse'''

{{{
  <transform xslt|xquery="registry-key" [registry="reg-name"] [source="xpath"]>
    ...
  </transform>
}}}

The interface would define the following key operations

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message