Hi Malaka, Currently once a proxy service or a sequence is deployed, another version of the same artifact cannot be deployed. In this scenario, the carbon application acts only as a container and its version has no effect in the artifacts within it.
A simple use case is that a user can create and deploy a new version of an existing artifact without taking down the existing artifact. For instance, I have my app foo v1.0.0 that is live with an URI http://esb_server/services/foo/1.0.0 User can deploy a v1.1.0 version with a new URI http://esb_server/services/foo/1.1.0 The user can also set a default artifact. If no version is mentioned in the request, the latest version is dispatched. On Mon, Nov 7, 2016 at 10:02 AM, Malaka Silva <[email protected]> wrote: > Hi Amjadh > , > > Thx for the detail explanation. > > I am bit unclear why we should do like this. Can you explain a use case > where we have to use the above versioning. > > The way I see this is we are simple creating a new artifact? > > Typically we get the requirement to support versioning with Carbon > Applications. I guess this is not covered as part of this? > > On Mon, Nov 7, 2016 at 9:39 AM, Amjadh Ifthikar <[email protected]> wrote: > >> >> Hi all, >> >> I am currently working on the project “Versioning support for ESB >> artifacts”. I have completed implementing the solution in wso2 synapse and >> also done necessary changes in the developer studio as well. According to >> the project, proxy service and sequence artifacts will be deployed and >> dispatched as follows. >> >> Proxy service deployment >> >> A versioned proxy service should be defined as follows. >> >> <proxy name="testproxy" startOnLoad="true" trace="disable" >> transports="https http" version="1.0.0" isDefault=”true”></proxy> >> >> The defined version will be concatenated with the proxy name to generate >> a unique id for the proxy service. The proxy service will be deployed using >> this unique id. >> >> Eg. testproxy/1.0.0 >> >> The isDefault attribute helps the user to name the respective version as >> the default version.(See proxy service dispatching for effect of isDefault) >> >> If there is no version attribute defined, the proxy is deployed by its >> name. This measure is taken to support backward compatibility. >> >> Proxy service dispatching >> >> A proxy service should be referred in a request as follows. >> >> The following requests are processed and the proxy service is dispatched. >> >> >> - >> >> http://localhost:8280/services/StockQuoteProxy/1.0.0 or >> http://localhost:8280/services/StockQuoteProxy/1.0.0. >> StockQuoteProxy/1.0.0HttpSoap11Endpoint >> >> <http://localhost:8280/services/StockQuoteProxy/1.0.0.StockQuoteProxy/1.0.0HttpSoap11Endpoint> >> >> >> If the request is sent as follows, the proxy service with the respective >> version is deployed. >> >> >> - >> >> http://localhost:8280/services/StockQuoteProxy or >> http://localhost:8280/services/StockQuoteProxy.StockQuotePro >> xy/HttpSoap11Endpoint >> >> <http://localhost:8280/services/StockQuoteProxy.StockQuoteProxy/HttpSoap11Endpoint> >> >> >> If a service is not found for the above request, >> >> 1). If the user have defined a proxy service with the attribute isDefault >> = “true” with the name requested, it will be dispatched. >> >> 2).If no axis service is found, it will see if there is only one proxy >> service containing the name provided. If so it is dispatched. >> >> 2). If there are many proxy services with the given name, the service >> with the highest version is dispatched. >> >> Serializing an artifact >> >> When serializing an artifact, both name and version can be taken from the >> artifact object to create the serialized artifact. >> >> Sequence deployment >> >> Ideally sequence deployment should be as follows. >> >> <sequence name="test" trace="disable" xmlns="http://ws.apache.org/ns >> /synapse" version=”1.0.0”> </sequence> >> >> The defined sequence name will be concatenated with the version to create >> a unique id. >> >> Eg.test/1.0.0 >> >> The deployed sequence will be added to the local registry with this >> unique id as the key. >> >> Sequence dispatching >> >> A versioned sequence should be referenced as follows. >> >> <sequence key="test/1.0.0”/> >> >> <target insequence=”testInSeq/1.0.0” outSequence=”testOutSeq/1.0.0”/> >> >> Developer Studio >> >> In the developer studio, >> >> >> - >> >> When creating a proxy service the user can define a version(not a >> mandatory field). If the user is entering a version number, it is >> validated >> to see if it is in the right format. The user also can tick whether the >> proxy service is a default version. >> >> >> >> - >> >> When creating a sequence, similarly the version can be provided(not >> mandatory). Also if a version is provided, it is validated whether it is >> in >> the right format. >> >> >> >> - >> >> When dragging and dropping available sequences, the version will be >> appended automatically. >> >> >> Please do reply if there is any feedback. >> Thank you, >> Amjadh Ifthikar. >> >> -- >> Amjadh Ifthikar >> Trainee Software Engineer >> WSO2 Inc. >> Mobile: +94777459181 >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > > Best Regards, > > Malaka Silva > Senior Technical Lead > M: +94 777 219 791 > Tel : 94 11 214 5345 > Fax :94 11 2145300 > Skype : malaka.sampath.silva > LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 > Blog : http://mrmalakasilva.blogspot.com/ > > WSO2, Inc. > lean . enterprise . middleware > https://wso2.com/signature > http://www.wso2.com/about/team/malaka-silva/ > <http://wso2.com/about/team/malaka-silva/> > https://store.wso2.com/store/ > > Don't make Trees rare, we should keep them with care > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Amjadh Ifthikar Trainee Software Engineer WSO2 Inc. Mobile: +94777459181
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
