Fwd: REMINDER: *** BOARD REPORTS DUE ***
Looks like our board report is due. Anyone interested in doing this? otherwise I'll write a few sentences for Friday. ...ant -- Forwarded message -- From: Noel J. Bergman [EMAIL PROTECTED] Date: Nov 5, 2006 8:12 PM Subject: REMINDER: *** BOARD REPORTS DUE *** To: general@incubator.apache.org Yes, its that time of the month again, so this should not come as a surprise to anyone. Reports are due on or by Friday. Yes, THIS FRIDAY. Henri's https://svn.apache.org/repos/private/committers/board/incubator-info.txt shows the list of projects needing to report, plus any that are newly accepted. --- Noel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Any sucess building Tuscany in eclipse using m2eclipse (maven) and svn plug-ins ?
Thanks all, Seems like the general opinion is that building with maven in eclipse (m2eclipse is meant to do this) seems like a path less well trodden I've got the external svn, mvn eclipse, import method working so I guess I'll just leave the maven building to the command line... same 'cos m2eclipse claims to sort out the dependencies and work with maven repos etc plug give some context assist for editing poms - just doesn't seem to work with Tuscany :( On 07/11/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, I too use a mix of Eclipse plug in and SVN. Initially, I checked out the source using command line SVN and after building the eclipse projects using commandline mavein (as Ant has described) I import the projects into eclipse. From then on all of SVN interactions - update, commit, patch creation etc. works from within eclipse. Some time back I did try checkout from within eclipse itself, it did work but then you must have to create and set up the eclipse projects alongside ( not sure if this has changed now) the check out and was very cumbersome. In do all maven builds from the command line. - Venkat On 11/7/06, ant elder [EMAIL PROTECTED] wrote: You don't have to do anything, it just works as the eclipse svn plugin uses the same .svn info as the command line one. If you really don't want to use the command line at all you should be able to checkout the tuscany code from the svn repo from the eclipse svn repository exploring perspective, not sure how well setting up all the classpaths will work though as i've not tried that approach. ...ant On 11/7/06, Dan Murphy [EMAIL PROTECTED] wrote: Hi Ant, one Q... if you svn outside eclipse what do you do to get team sync working in eclipse ? sounds like a good compromise, though would still prefer to work purely in eclipse - I'll do this if no-one else can help with my q Thanks, Dan On 07/11/06, ant elder [EMAIL PROTECTED] wrote: On 11/7/06, Dan Murphy [EMAIL PROTECTED] wrote: Hi, Has anyone out there had any sucess building inside eclipse using the subversion (http://subclipse.tigris.org/) and maven2 ( http://m2eclipse.codehaus.org/) plug-ins ? I'd like to be able to sync and build without stepping into command line mode... but this looks like wishful thinking. Despite various attempts I can't seem to get the combination to work - hoping to be able to work with Tuscany solely from within the cosey confines of eclipse, but can't seem to get it to work :( I'll append a second post of the failures I currently seeing to see if they make sense to anyone. If someone else has and/or can help me get it working then I'd be happy to write it up with screenshots etc so other can benefit (unless I'm the only one with this aspiration). Many thanks in advance Dan I use eclipse 3.2 with the tigris svn plugin. I still check the code out of svn initially with command line SVN and build it, then run mvn -Peclipse eclipse:eclipse and import those projects into eclipse with file - import - General - import existing projects. From the on you can use team - sync to get updates and commit changes all within eclipse. Often still easier to use the command like SVN for somethings. ...ant
Re: Any sucess building Tuscany in eclipse using m2eclipse (maven) and svn plug-ins ?
Dan, I just stumbled on this http://www-128.ibm.com/developerworks/opensource/library/os-maven/index.html -- not sure if its relevant, but the title looks to be so. Regards, Kelvin. On 08/11/06, Dan Murphy [EMAIL PROTECTED] wrote: Thanks all, Seems like the general opinion is that building with maven in eclipse (m2eclipse is meant to do this) seems like a path less well trodden I've got the external svn, mvn eclipse, import method working so I guess I'll just leave the maven building to the command line... same 'cos m2eclipse claims to sort out the dependencies and work with maven repos etc plug give some context assist for editing poms - just doesn't seem to work with Tuscany :( On 07/11/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, I too use a mix of Eclipse plug in and SVN. Initially, I checked out the source using command line SVN and after building the eclipse projects using commandline mavein (as Ant has described) I import the projects into eclipse. From then on all of SVN interactions - update, commit, patch creation etc. works from within eclipse. Some time back I did try checkout from within eclipse itself, it did work but then you must have to create and set up the eclipse projects alongside ( not sure if this has changed now) the check out and was very cumbersome. In do all maven builds from the command line. - Venkat On 11/7/06, ant elder [EMAIL PROTECTED] wrote: You don't have to do anything, it just works as the eclipse svn plugin uses the same .svn info as the command line one. If you really don't want to use the command line at all you should be able to checkout the tuscany code from the svn repo from the eclipse svn repository exploring perspective, not sure how well setting up all the classpaths will work though as i've not tried that approach. ...ant On 11/7/06, Dan Murphy [EMAIL PROTECTED] wrote: Hi Ant, one Q... if you svn outside eclipse what do you do to get team sync working in eclipse ? sounds like a good compromise, though would still prefer to work purely in eclipse - I'll do this if no-one else can help with my q Thanks, Dan On 07/11/06, ant elder [EMAIL PROTECTED] wrote: On 11/7/06, Dan Murphy [EMAIL PROTECTED] wrote: Hi, Has anyone out there had any sucess building inside eclipse using the subversion (http://subclipse.tigris.org/) and maven2 ( http://m2eclipse.codehaus.org/) plug-ins ? I'd like to be able to sync and build without stepping into command line mode... but this looks like wishful thinking. Despite various attempts I can't seem to get the combination to work - hoping to be able to work with Tuscany solely from within the cosey confines of eclipse, but can't seem to get it to work :( I'll append a second post of the failures I currently seeing to see if they make sense to anyone. If someone else has and/or can help me get it working then I'd be happy to write it up with screenshots etc so other can benefit (unless I'm the only one with this aspiration). Many thanks in advance Dan I use eclipse 3.2 with the tigris svn plugin. I still check the code out of svn initially with command line SVN and build it, then run mvn -Peclipse eclipse:eclipse and import those projects into eclipse with file - import - General - import existing projects. From the on you can use team - sync to get updates and commit changes all within eclipse. Often still easier to use the command like SVN for somethings. ...ant
[jira] Closed: (TUSCANY-900) samples/testing/tomcat/datasource.xsl missing ASF header
[ http://issues.apache.org/jira/browse/TUSCANY-900?page=all ] Kevin Williams closed TUSCANY-900. -- Fix Version/s: Java-Mx (was: Java-M2) Resolution: Fixed samples/testing/tomcat/datasource.xsl missing ASF header Key: TUSCANY-900 URL: http://issues.apache.org/jira/browse/TUSCANY-900 Project: Tuscany Issue Type: Bug Components: Java DAS Samples Affects Versions: Java-M2 Reporter: Luciano Resende Assigned To: Luciano Resende Priority: Blocker Fix For: Java-Mx Attachments: tuscany900-lresende.20061106.txt See details here : http://www.mail-archive.com/general%40incubator.apache.org/msg11407.html -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DAS as a POJO service
I just committed the nice DAS - POJO service contribution from Luciano and have a few comments/discussion points: Here is the service API: /** * * @author lresende * */ public interface DASService { public void configureService(InputStream configStream) throws DASServiceException; public DataObject executeCommand(String commandName, Vector commandArguments) throws DASServiceException; public DataObject execute(String adHocQuery, Vector commandArguments) throws DASServiceException; public void applyChanges(DataObject graphRoot) throws DASServiceException; } We need to find a way to replace the configureService API with an SCA pattern for providing config information. Amita has solved this with the DAS-container contribution but I assume there is a pattern for POJO services too. We should avoid checked exceptions. Could the Vector argument list be replaced with a List? I think Apache discourages the use of the @author tag -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: A front-page for tuscany-java-sca downloads
On 11/8/06, Raymond Feng [EMAIL PROTECTED] wrote: Hi, Thanks for all the feedbacks. I have updated the site. Please review it again. http://people.apache.org/~rfeng/tuscany/incubator-M2/downloads/ just FYI should be easy enough to update that page for mirroring once tuscany graduations. see http://www.apache.org/dev/release-download-pages.html for details. - robert - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Declarative DAS, was Re: Modeling the RDB DAS in SCA
Hello Kevin , Luciano, Thanks a lot for all your suggestions and looking forward to have a IRC chat with you. I am proposing 9th Nov 5.30 a.m. IST (8th Nov 4.00 p.m. PST) for approx. 1 hr. Please join the chat and we all can discuss - 1) what we are trying to provide - service, container 2) what all features can be provided 3) any high level design suggestions ( sim. to Kevin's latest reply ) 4) any other suggestions 5) we can try to come up with a list of work items This will be very helpful in getting a clear picture of what all can be done in SCA (as well as DAS) domain for our current work. Regards, Amita On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: Hello Amita, This looks promising. I notice your test case uses explicit updates and inserts. While this is supported by the DAS it is not the preferred usage which is to allow the RDB DAS to generate the CUD statements from the SDO change history. Could you modify the example to read a data graph and then post the changes back via applyChanges? Maybe the equivalent of this simple test from the DAS test suite: public void testReadModifyApply4() throws Exception { DAS das = DAS.FACTORY.createDAS(getConfig(CustomerConfig.xml), getConnection()); // Read customer with particular ID Command select = das.getCommand(getCustomer); select.setParameter(1, 1); DataObject root = select.executeQuery(); DataObject customer = (DataObject) root.get(CUSTOMER[1]); // Modify customer customer.set(LASTNAME, Pavick); das.applyChanges(root); // Verify the change root = select.executeQuery(); assertEquals(Pavick, root.getDataObject(CUSTOMER[1]).getString(LASTNAME)); } Also, this service interface seems difficult to work with since command identifiers and argument values are encoded in the params Vector public interface CustomersOrdersService { void execute(Vector params); DataObject executeQuery(Vector params); void applyChanges(Vector params); DataObject executeAdhoc(Vector params);//adhoc query implementation DataObject getAllCustomers(Vector paramsList); } Do you think it possible to implement something like the following interface: public interface DynamicRDBDASService { DataObject execute(String commandName, List params); DataObject executeAdHoc(String queryString, List params); void applyChanges(); } The name is kind of long (suggestions welcome) but, I think this interface could be generic and set of available commands is driven by the provided DAS config file. I am not sure how we might support SP OUT parameters but we can think about that later. I does seem like you and Luciano should team up on this. Thanks! -- Kevin Amita Vadhavkar wrote: Hi Kevin, Thanks a lot for the comments. I have posted the code and doc on JIRA-904 for the container work. Also, am most likely missing something in the database connection portion. Would like to discuss with you. Will you please provide feedback on JIRA-904 attachments? I am checking with Luciano for a convenient date/time when we can chat, would be great if you can also join. I am in IST timezone. Regards, Amita On 11/6/06, Kevin Williams [EMAIL PROTECTED] wrote: Hi Amita, This is looking good. Some comments inline: Amita Vadhavkar wrote: Hi, I am trying to create a container for DAS-SCA too (not just for stored procedure) and will be able to send a working code in ML over the weekend. Below is summary of what I got so far from the previous mail discussions and some questions. The integration between DAS and SCA can happen at application level as service or at container level. 2 different possible approaches – static – e.g. getAllCustomers dynamic – e.g. execute(all customers); For application level service – it is the sample * sample-StoredProcedureService.jar* or what Luciano is providing in more details, is an example. In *sample-StoredProcedureService.jar* example dynamic approach is followed For container approach – again static or dynamic approach can be followed. For static – it's like providing service for getAllCompanies(), getAllCustomers() etc. whereas for dynamic its like execute(command) where command can be getAllCompanies, getAllCustomers. Etc. I am working on a container implementation where dynamic approach is followed. If I understand correctly, the container approach will provide the tightest integration with SCA and make things easier for end-users. Do you agree? There are 2 places where extensibility is required – 1) for providing different data access mechanisms. i.e. today there is RDB-DAS, tomorrow there will be XQUery-DAS etc. In this case – the scdl will be same, but the exampleconfig.xml will change. In the container I am working on - Scdl has a new tag
[jira] Created: (TUSCANY-908) CDATA sections are not handled
CDATA sections are not handled -- Key: TUSCANY-908 URL: http://issues.apache.org/jira/browse/TUSCANY-908 Project: Tuscany Issue Type: Bug Components: C++ SDO Affects Versions: Cpp-current, Cpp-M1, Cpp-M2 Environment: All Reporter: Simon Laws Assigned To: Simon Laws Fix For: Cpp-current The SDO C++ implement ignores CDATA sections that appear in input XML documents and provides no facilities for constructing CDATA sections through the API -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Updated: (TUSCANY-908) CDATA sections are not handled
[ http://issues.apache.org/jira/browse/TUSCANY-908?page=all ] Simon Laws updated TUSCANY-908: --- Attachment: cdata.txt A preliminary patch for handling CDATA sections. The approach taken is to allow CDATA sections to appear in property values within data objects. In this way CDATA can be accessed through the standard SDO API for either reading or creating strings,i.e. what you see is what you get. The user must be aware of the syntax of CDATA section markers and be prepared to process them. This gives us to oppotunity to experiment wih CDATA a little and see how we feel about this approach. It was not the only approach considered when looking for a solution. In particular the introdcution of special flags to the SDO core was considered. This approach is problematic when CDATA sections appear as part of a primitive string value. We would have to undertake so fairly serious changes to the SDO core to make primit string properties that contain CDATA sections and where in those strings the CDATA appears in order that it can be pulled out for processing. The patch has been created using subclipse which, AFAIK, doesn't support relative paths. Sorry about that. The answer is to decide where to apply it and then edit the patch file to change the contained paths appropriately. CDATA sections are not handled -- Key: TUSCANY-908 URL: http://issues.apache.org/jira/browse/TUSCANY-908 Project: Tuscany Issue Type: Bug Components: C++ SDO Affects Versions: Cpp-current, Cpp-M1, Cpp-M2 Environment: All Reporter: Simon Laws Assigned To: Simon Laws Fix For: Cpp-current Attachments: cdata.txt The SDO C++ implement ignores CDATA sections that appear in input XML documents and provides no facilities for constructing CDATA sections through the API -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: SDO - dealing with CDATA
On 11/3/06, Simon Laws [EMAIL PROTECTED] wrote: On 11/3/06, Frank Budinsky [EMAIL PROTECTED] wrote: Simon, The Sequence entry returns a special property: if (sequence.getProperty(i) == specialCDataProperty) { String cDataValue = sequence.getValue(i); } The problem is that this special property is currently inherited from the underlying EMF, so it's really not something we want clients to use. RIght now, this works fine in terms of reading in CDATA and not losing it when you reserialize, but there's really no proper way for an SDO client to actually access it. Without using EMF apis, the only way a client can decide that an entry is CDATA is by looking at the property name (and hope there's no real property with that name). Longer term, I'm not sure that even handling it this way is right. Maybe CDATA and other special XML things should look like mixed text in the sequence (property == null), and some XMLHelper method (or some Tuscany specific API for now) could be used to check if it's actually something special like CDATA. Maybe you should try to do something like that in the C++ impl, and if it looks promissing, we'll switch the Java impl to do the same. Frank Simon Laws [EMAIL PROTECTED] wrote on 11/03/2006 10:18:04 AM: On 11/3/06, Frank Budinsky [EMAIL PROTECTED] wrote: In the Tuscany Java implementation we expose CDATA as sequence entries (like mixed text) with a special CDATA property (we handle comments in a similar way). SDO doesn't define a special property for CDATA, so this is an implementation-specific feature. I'm not sure, long term, what should be the best (proper) way to do this. Frank. Simon Laws [EMAIL PROTECTED] wrote on 11/03/2006 09:41:25 AM: On 10/26/06, Simon Laws [EMAIL PROTECTED] wrote: This is primarily a C++ question but I guess could apply to Java also. I'm trying to read a document into C++ SDO that contains a CDATA section. The corresponding CDATA doesn't make its way into the resulting SDO. I put the C++ SDO implementation in the debugger and found the reason why: sax2parser.cpp void sdo_cdataBlock(void *ctx, const xmlChar *value, int len) { } So the callback exists, gets called with the correct data during the parse, i.e. LibXML2 is doing the right thing, but the callback is ignored. Is there a good reason for this? I did a quick search of the C++ and Java specs and they don't appear to discuss CDATA specifically. Can someone comment on whether the Java implementation handles CDATA successfully? Logically, from an SDO point of view, there is probably no need to treat CDATA specially as the SDO model dictates precisely the difference between data and structure. We may find that to make the XML DAS function work we have to know that a property potentially contains markup but I'd have to look closely at how the C++ SDO implementation of the XML DAS function streams out SDOs to XML when requested to do so. If CDATA hasn't been omitted for a good reason I'll come up with a proposal for C++ SDO. Regards Simon I didn't get any response to this. Here are my further thoughts.. There are a number of options for representing CDATA in SDO, for example 1) Duplicate the CDATA string as is, including the ![CDATA[ and ]] markers, to the appropriate property in the data object hiearchy 2) Duplicate the CDATA string excluding the ![CDATA[ and ]] markers and instigate a special flag to indicate that CDATA is present. CDATA is the specific concern of XML, i.e. the chracter entities that CDATA protects an XML parser from are of no concern to SDO because SDO is not intended to be tied directly to XML. So given the example options above we either expose the specifics of XML to the SDO core 2) or to the SDO user 1). Neither are particularly attractive. 1) appears to be the simplest approach to implement because it provides a mechanism for the user to read, and create CDATA without having to provide much special support in SDO. 2) is more involved particularly because CDATA can appear mixed in with other text strings and so a sequence may need to be used to represent properties that have a mixture of text and CDATA marking those sequences entries that are CDATA. 1) does require changes (at least in C++ SDO) because XML parsers tend to be too helpful in this case for processing CDATA. XML parsers, libxml2 in particular, recognize the ![CDATA[ and ]] sequence as a special indicator and throw it away returning just the text it includes. We would have to reintroduce it and store it in the parameter value in question. The C++ SDO
Re: Declarative DAS, was Re: Modeling the RDB DAS in SCA
Hi Amita, This sounds good. Thanks for getting up so early! -- Kevin Amita Vadhavkar wrote: Hello Kevin , Luciano, Thanks a lot for all your suggestions and looking forward to have a IRC chat with you. I am proposing 9th Nov 5.30 a.m. IST (8th Nov 4.00 p.m. PST) for approx. 1 hr. Please join the chat and we all can discuss - 1) what we are trying to provide - service, container 2) what all features can be provided 3) any high level design suggestions ( sim. to Kevin's latest reply ) 4) any other suggestions 5) we can try to come up with a list of work items This will be very helpful in getting a clear picture of what all can be done in SCA (as well as DAS) domain for our current work. Regards, Amita On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: Hello Amita, This looks promising. I notice your test case uses explicit updates and inserts. While this is supported by the DAS it is not the preferred usage which is to allow the RDB DAS to generate the CUD statements from the SDO change history. Could you modify the example to read a data graph and then post the changes back via applyChanges? Maybe the equivalent of this simple test from the DAS test suite: public void testReadModifyApply4() throws Exception { DAS das = DAS.FACTORY.createDAS(getConfig(CustomerConfig.xml), getConnection()); // Read customer with particular ID Command select = das.getCommand(getCustomer); select.setParameter(1, 1); DataObject root = select.executeQuery(); DataObject customer = (DataObject) root.get(CUSTOMER[1]); // Modify customer customer.set(LASTNAME, Pavick); das.applyChanges(root); // Verify the change root = select.executeQuery(); assertEquals(Pavick, root.getDataObject(CUSTOMER[1]).getString(LASTNAME)); } Also, this service interface seems difficult to work with since command identifiers and argument values are encoded in the params Vector public interface CustomersOrdersService { void execute(Vector params); DataObject executeQuery(Vector params); void applyChanges(Vector params); DataObject executeAdhoc(Vector params);//adhoc query implementation DataObject getAllCustomers(Vector paramsList); } Do you think it possible to implement something like the following interface: public interface DynamicRDBDASService { DataObject execute(String commandName, List params); DataObject executeAdHoc(String queryString, List params); void applyChanges(); } The name is kind of long (suggestions welcome) but, I think this interface could be generic and set of available commands is driven by the provided DAS config file. I am not sure how we might support SP OUT parameters but we can think about that later. I does seem like you and Luciano should team up on this. Thanks! -- Kevin Amita Vadhavkar wrote: Hi Kevin, Thanks a lot for the comments. I have posted the code and doc on JIRA-904 for the container work. Also, am most likely missing something in the database connection portion. Would like to discuss with you. Will you please provide feedback on JIRA-904 attachments? I am checking with Luciano for a convenient date/time when we can chat, would be great if you can also join. I am in IST timezone. Regards, Amita On 11/6/06, Kevin Williams [EMAIL PROTECTED] wrote: Hi Amita, This is looking good. Some comments inline: Amita Vadhavkar wrote: Hi, I am trying to create a container for DAS-SCA too (not just for stored procedure) and will be able to send a working code in ML over the weekend. Below is summary of what I got so far from the previous mail discussions and some questions. The integration between DAS and SCA can happen at application level as service or at container level. 2 different possible approaches – static – e.g. getAllCustomers dynamic – e.g. execute(all customers); For application level service – it is the sample * sample-StoredProcedureService.jar* or what Luciano is providing in more details, is an example. In *sample-StoredProcedureService.jar* example dynamic approach is followed For container approach – again static or dynamic approach can be followed. For static – it's like providing service for getAllCompanies(), getAllCustomers() etc. whereas for dynamic its like execute(command) where command can be getAllCompanies, getAllCustomers. Etc. I am working on a container implementation where dynamic approach is followed. If I understand correctly, the container approach will provide the tightest integration with SCA and make things easier for end-users. Do you agree? There are 2 places where extensibility is required – 1) for providing different data access mechanisms. i.e. today there is RDB-DAS, tomorrow there will be XQUery-DAS etc. In this case – the scdl
[C++] Where next for Tuscany C++?
Hi everyone, Now M2 is finally available, we should start thinking about what we'd like to do next in Tuscany C++. There were quite a few items that were suggested for M2 that we ended up leaving out for time reasons and it would be good to progress the function we have in M2. Things I would like to do/see: - Add initial support for SDO handling in the Python extension (as an XML serialization) - Remove requirement for componentType side-files for Python components - Get the PHP extension up to the level of the Ruby/Python extensions - perhaps by using the SCA for PHP stuff (http://www.osoa.org/display/PHP/SCA+with+PHP) - Improve the samples for the scripting languages (nebulous! does anyone have any good ideas?) - A sample showing the different languages working together. - A standalone REST binding - we can do a limited REST via the support in Axis2C, but I think it would be cool to have a real binding.rest that we can host in HTTPD. Please join in with your own thoughts/plans! Cheers Andy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
SCA Binder question
I was reading the SCA specs around what is the concept of a Binder, and my understanding is that it's more towards the transport protocol layer. If this is the case, how would we have a Stored Procedure as a Binder ? SCA spec : http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_AssemblyModel_V09.pdf page 45: SCA supports the use of multiple different types of bindings. Examples include SCA service, Web service, stateless session EJB, data base stored procedure, EIS service. Could someone elaborate little more on how the SP would be used as a binder ? - Luciano
Re: Adding 2 webapp jars to binary distro
Raymond, Thanks for these comments. My responses are inline. Simon Raymond Feng wrote: Hi, Simon. A few comments: 1) It seems that you're looking for a collection of tuscany runtime/extension jars which provides you the artifacts to build the web application offline using ant or manually. I don't think it's appropriate to add them to the standalone distro though because it serves as the runtime for standalone applications instead of a traditional binary distro. I'm not sure why you are making a strong distinction between these two uses. A traditional binary distro will have a bin directory containing a command to launch its runtime and possibly other commands as well. Supporting dependencies that are needed to provide core functionality are in a lib directory. For example, the binary distros for tomcat and ant follow this pattern. So if we were releasing a binary runtime distro for core Tuscany functionality (i.e., functionality that is not part of some extension), I think its contents would be quite similar to what we have today in the standalone distro. Also, what we have today seems to be something of a hybrid between a standalone distro and a binary distro. The extensions in the contrib directory are not needed by the standalone launcher, but are packaged in the same bundle (binary distro) for user convenience. By suggesting adding the 2 webapp jars, I was trying to take this approach of user convenience just a tiny bit further. 2) There may be another scenario that a distro is desired for web applications. In that case, the tuscany runtime/extension jars will be shared by the Tomcat server level (I remember we did a similar thing before by leveraging common/lib and server/lib?). This configuration is not supported today. I'm not sure it should be considered. I had not intended to support this scenario. If we decide we want to revive support for it, then we would have some work to do on both the runtime and build time aspects. 3) I also feel a bit scary by looking at the ant script which packages the WAR file. A prebuilt ant script can help one sample application, but won't the end-users be scared as well imaging they have to write such a script to deal with other web applications? Can we defer it to M3 so that we can have a better picture instead of rushing to M2 which is very close to the release? My hope in providing some sample scripts would be to show people what is needed in order to build and run Tuscany applications, at a more explicit level than just run maven. In effect this would serve as documentation for how they could do this themselves, using whatever tool they find most comfortable. I agree that the current webapp script comes across as quite scary, which is why I asked for suggestions to improve it. 4) As for the ant script itself, I suggest that you use the nested elements (such as lib, classes, webinf and metinfo) for war task instaed of a bunch of copy tasks as documented @ http://ant.apache.org/manual/CoreTasks/war.html. Thanks for this very helpful feedback. I will work on this today and post an updated version of the script later. I hope this will go some way to addressing your previous comment. Thanks, Raymond - Original Message - From: Simon Nash [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, November 07, 2006 2:28 PM Subject: Re: Adding 2 webapp jars to binary distro Rick wrote: Jeremy Boynes wrote: I think this highlights one of the challenges with Ant-based build environments. Although Ant provides the mechanisms for executing the build scripts it does not provide a method for locating the dependencies needed at build-time - for example, to compile or repackage; often they are simply checked in alongside the user's source. This was one of the key issues that the Maven project originally set out to solve and which led to the establishment of the repo systems. I have not had a chance to see how your scripts address locating these dependencies. I realize that some, like SDO, are (undesirably) located in the standalone distro; others like spring, jaxb, json, js are not (or at least I hope they are not). It would help (in my currently disconnected state) if you could describe how your environment handles these. We will be making all the dependencies (including these) available through the maven repository system. As I explained in an earlier mail, the release vote would include not just the binary and other archives but also /all/ of the artifacts we release through the repo; this addresses Ant's concern about IPMC approval. At a fundamental level, I would question whether using the standalone runtime distribution as the basis of a build environment is the way to be going. Would we be better served producing a library Wouldn't if we added javadoc, SDOgen, Java2WSDL, WSDL2Java, War Plugin commandline to this be essentially a Tuscany SDK? Yes, it would, and for M3 it would be good
Re: Adding 2 webapp jars to binary distro
Jim, See my comments inline. Simon Jim Marino wrote: On Nov 7, 2006, at 10:43 AM, Simon Nash wrote: Jeremy, Thanks for the quick response. I am trying to be pragmatic here and deal with simple use cases. I haven't yet worked out the best way to deal with external or transitive dependencies from an ant build environment (though I do have some thoughts), but having a complete story for this is not needed to build a simple webapp. It seems that if you go down this route you will wind up re-inventing Maven. Maven seems simple enough to me. I had not intended to reinvent maven. I was thinking more in terms of something that enables ant scripts to find dependencies in maven repos and package these in the embedded repo within the war file. I'm looking at various options for how best to do this in a way that is most convenient from the perspective of ant users. Adding these 2 jars would be a simple change that would make the first use encounter with Tuscany quite a bit easier for ant users. Both Jeremy and Raymond pointed out the issue about working from a standalone distribution. Please see my comment to Raymond on this. I'd like to explore why it wouldn't be appropriate to have a binary distro that could be used for both purposes. There is a further issue that statically cramming things into the distribution is not going to solve. Namely, moving forward, these jars are not going to be the only things required to run in a web app in many of the common usage scenarios. For example, there will also be pure-Tuscany things like a JNDI-based implementation of ResourceHost to support the @Resource tag and service discovery. In addition, people may want to use other optional extensions such as Celtix instead of Axis or JAXB instead of SDO. The best way to solve this other than using Maven (and potentially embedding it as part of the distribution) is to use the artifact repository at runtime or, as you mentioned, a custom Ant task that replicated its functionality at deployment time (it could even embed Maven :-) ). The Ant task would download the jars and place them in the Ant project folder as determined by the user. I am not debating the extensions issue. We need a robust and convenient way for ant users (and users of other build tools) to obtain optional Tuscany extensions that aren't included in the tuscany-sca binary distro. I'm only focusing on the small set of binary artifacts that are basic components of Tuscany and aren't packaged as Tuscany extensions. I don't really see any distinction between these artifacts and the contrib Tuscany extensions that we are including in the M2 distro. In both cases, these could be downloaded separately, but bundling them into a downloadable distribution is a valuable convenience to users. What would be a less than ideal solution is to adopt the kitchen sink approach. Even if today it is two jars, this will quickly break down as the complexity of the runtime configuration increases. Putting this in as a temporary stopgap also does not seem like a good move given the issues it presents moving forward and the fact that we would have to remove it in the next release. Agreed that we don't want to do something now that we would reverse later. I don't see why this would be necessary. Even if we had a very sophisticated remote loading approach, there would still be a few basic things that it would make sense to find locally. Perhaps a custom Ant task which replicates the functionality in Maven is something you could look into? If you embedded Maven, I don't think it would be that much work. I'm certainly going to look into this and I think it's the right way to locate and load optional external dependencies. One of the approaches I am investigating is embedding maven. But I would draw a distinction between solving the general problem of artifact discovery and downloading, and how we provide basic elements of the Tuscany runtime. Jim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DAS as a POJO service (POJService?)
The term DAS-POJO Service is probably confusing. What I meant is service implemented in Java that does not require a new component type. POJService? -- Kevin Kevin Williams wrote: I just committed the nice DAS - POJO service contribution from Luciano and have a few comments/discussion points: Here is the service API: /** * * @author lresende * */ public interface DASService { public void configureService(InputStream configStream) throws DASServiceException; public DataObject executeCommand(String commandName, Vector commandArguments) throws DASServiceException; public DataObject execute(String adHocQuery, Vector commandArguments) throws DASServiceException; public void applyChanges(DataObject graphRoot) throws DASServiceException; } We need to find a way to replace the configureService API with an SCA pattern for providing config information. Amita has solved this with the DAS-container contribution but I assume there is a pattern for POJO services too. We should avoid checked exceptions. Could the Vector argument list be replaced with a List? I think Apache discourages the use of the @author tag -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Candidate M2 Distros @ http://people.apache.org/~rfeng/tuscany/incubator-M2/downloads/
Hi, I'll give a try to see what's going on. Thanks, Raymond - Original Message - From: Terry Zhou [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, November 07, 2006 11:26 PM Subject: Re: Candidate M2 Distros @ http://people.apache.org/~rfeng/tuscany/incubator-M2/downloads/ When I download the sca-java-M2 and build samples then run helloworldws webapp, I get the following exceptions, maybe the repo in webapp.scdl should be changed. Thanks, Terry INFO: Deploying web application archive sample-helloworldws.war [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___repo1.maven.org_maven2_ [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___people.apache.org_repo_m 2-snapshot-repository [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___people.apache.org_repo_m 2-incubating-repository_ [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___people.apache.org_repo_m 1-snapshot-repository_ [WARNING] Unable to get resource from repository http___repo1.maven.org_maven2_ (http://repo1.maven.org/maven2/) [WARNING] Unable to get resource from repository http___people.apache.org_repo_m 2-snapshot-repository (http://people.apache.org/repo/m2-snapshot-repository) [WARNING] Unable to get resource from repository http___people.apache.org_repo_m 2-incubating-repository_ (http://people.apache.org/repo/m2-incubating-repository /) [WARNING] Unable to get resource from repository http___people.apache.org_repo_m 1-snapshot-repository_ (http://people.apache.org/repo/m1-snapshot-repository/) org.apache.tuscany.runtime.webapp.ServletLauncherInitException: org.apache.tusca ny.spi.component.TargetException: Error initializing component instance [extende r] at org.apache.tuscany.runtime.webapp.WebappRuntimeImpl.initialize(Webapp RuntimeImpl.java:147) at org.apache.tuscany.runtime.webapp.TuscanyContextListener.contextIniti alized(TuscanyContextListener.java:74) at org.apache.catalina.core.StandardContext.listenerStart(StandardContex t.java:3763) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4 211) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase .java:759) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73 9) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:698 ) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472 ) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java :310) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl eSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442 ) at org.apache.catalina.core.StandardService.start(StandardService.java:4 50) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709 ) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) Caused by: org.apache.tuscany.spi.component.TargetException: Error initializing component instance [extender] at org.apache.tuscany.core.implementation.PojoAtomicComponent.init(PojoA tomicComponent.java:96) at org.apache.tuscany.core.component.scope.InstanceWrapperImpl.start(Ins tanceWrapperImpl.java:49) at org.apache.tuscany.core.component.scope.ModuleScopeContainer.eagerIni tComponents(ModuleScopeContainer.java:145) at org.apache.tuscany.core.component.scope.ModuleScopeContainer.onEvent( ModuleScopeContainer.java:72) at org.apache.tuscany.spi.component.AbstractSCAObject.publish(AbstractSC AObject.java:94) at
Unix patch program
I have been using Eclipse to apply patches from contributors and I continue to have problems when patches contain additions. I would like to try the Unix patch utility. Can someone provide the options needed when using the Unix patch command to apply a patch created from some relative location, to the same location to be patched? I think I just need the correct value for p: patch -pnum patchfile Thanks, --Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Unix patch program
-p0 -- dims On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: I have been using Eclipse to apply patches from contributors and I continue to have problems when patches contain additions. I would like to try the Unix patch utility. Can someone provide the options needed when using the Unix patch command to apply a patch created from some relative location, to the same location to be patched? I think I just need the correct value for p: patch -pnum patchfile Thanks, --Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Axis2 1.1 timeframes
Word on the street is Axis2 1.1 final should happen this weekend or early next week and there wont be any more RCs before then. ...ant
building c++ M2 under windows
I am using Visual C++ 2005 Express to try to build SCA C++ and then the calculator example. Below is the output from building SCA, and then from building calculator. As you can see, the calculator buidl is failing. Any idea what is going on, and how I can fix it? The calculator build is looking for tuscany_sca_cpp-1.0-incubator-M2-src\deploy/bin/scagen.cmd which in fact does nto exist - why? did I do something wrong in the C++ build? thanks, Judah ** ** SCA C++ build output: ** ** -- Rebuild All started: Project: tuscany_sca, Configuration: Debug Win32 -- Deleting intermediate and output files for project 'tuscany_sca', configuration 'Debug|Win32' Compiling... WSDLInterface.cpp Compiling... ServiceBindingExtension.cpp ReferenceBindingExtension.cpp InterfaceExtension.cpp ImplementationExtension.cpp Utils.cpp c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\utils.cpp(313) : warning C4018: '' : signed/unsigned mismatch c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\utils.cpp(442) : warning C4018: '' : signed/unsigned mismatch LogWriter.cpp Logger.cpp c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\logger.cpp(57) : warning C4996: 'getenv' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\stdlib.h(483) : see declaration of 'getenv' Message: 'This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\logger.cpp(74) : warning C4996: 'getenv' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\stdlib.h(483) : see declaration of 'getenv' Message: 'This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\logger.cpp(101) : warning C4996: 'vsprintf' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'vsprintf' Message: 'This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' Library.cpp FileLogWriter.cpp File.cpp c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\file.cpp(108) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' Exceptions.cpp c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(40) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(42) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(56) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp-1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(58) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use
Re: [C++] Where next for Tuscany C++?
On 11/8/06, Andrew Borley [EMAIL PROTECTED] wrote: Hi everyone, Now M2 is finally available, we should start thinking about what we'd like to do next in Tuscany C++. There were quite a few items that were suggested for M2 that we ended up leaving out for time reasons and it would be good to progress the function we have in M2. Things I would like to do/see: - Add initial support for SDO handling in the Python extension (as an XML serialization) - Remove requirement for componentType side-files for Python components - Get the PHP extension up to the level of the Ruby/Python extensions - perhaps by using the SCA for PHP stuff (http://www.osoa.org/display/PHP/SCA+with+PHP) - Improve the samples for the scripting languages (nebulous! does anyone have any good ideas?) - A sample showing the different languages working together. - A standalone REST binding - we can do a limited REST via the support in Axis2C, but I think it would be cool to have a real binding.rest that we can host in HTTPD. Please join in with your own thoughts/plans! Cheers Andy I'd like to give you a JavaScript extension supporting E4X. In fact I just downloaded MS Visual Studio express this morning with that in mind (can i used this to build everything on Windows?). No idea if it will happen as its been years since I did anything with C++. Expect to see a few newbie how to build type questions ... ...ant
Re: [C++] Where next for Tuscany C++?
I am also trying to build under VC++ Express - here's what I have so far. I can build SCA C++, but can't get the samples to build. Please let me know if you get the samples built and how you did it! -Judah 1. Go to http://incubator.apache.org/tuscany/cpp_sca_overview.html, and follow the link to Getting Started - SCA C++ 2. Follow the links/instructions there under System Requirements to install the binaries of Axis2C and Tuscany SDO for C++ 3. Go to http://msdn.microsoft.com/vstudio/express/ and download a install Visual C++ 2005 Express Edition 4. Go to http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADBdisplaylang=en and install Microsoft (r) Windows Server(r) 2003 R2 Platform SDK Web Install 5. Follow the instructions at http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx - Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK 6. Return to http://incubator.apache.org/tuscany/cpp_sca_overview.html and proceed to follow the instructions under Getting Tuscany SCA for C++ working with the source release on Windows. Until step #5. 7. When you get to step 5, DO NOT try to build it at the command line. Open Visual C++, go to File - Open - Project/Solution and open tuscany_sca_cpp-1.0-incubator-M2-src\projectsvc7\tuscany_sca\tuscany_sca.sln . Use the visual studio conversion wizard to convert this project to the newer visual studio format. 8. build the solution in Visual Studio On 11/8/06, ant elder [EMAIL PROTECTED] wrote: On 11/8/06, Andrew Borley [EMAIL PROTECTED] wrote: Hi everyone, Now M2 is finally available, we should start thinking about what we'd like to do next in Tuscany C++. There were quite a few items that were suggested for M2 that we ended up leaving out for time reasons and it would be good to progress the function we have in M2. Things I would like to do/see: - Add initial support for SDO handling in the Python extension (as an XML serialization) - Remove requirement for componentType side-files for Python components - Get the PHP extension up to the level of the Ruby/Python extensions - perhaps by using the SCA for PHP stuff (http://www.osoa.org/display/PHP/SCA+with+PHP) - Improve the samples for the scripting languages (nebulous! does anyone have any good ideas?) - A sample showing the different languages working together. - A standalone REST binding - we can do a limited REST via the support in Axis2C, but I think it would be cool to have a real binding.rest that we can host in HTTPD. Please join in with your own thoughts/plans! Cheers Andy I'd like to give you a JavaScript extension supporting E4X. In fact I just downloaded MS Visual Studio express this morning with that in mind (can i used this to build everything on Windows?). No idea if it will happen as its been years since I did anything with C++. Expect to see a few newbie how to build type questions ... ...ant - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Conversational services
I'd like to re-start this thread to get started on implementing conversational services according to the assembly and c+i for Java specs. The following items need to be addressed: SessionScopeContainer - A new class that needs to be created, in addition to HttpSessionScopeContainer, since this latter class seems to be aimed specifically at http sessions. Perhaps the two could be combined into a more general class but I'd like to hear first whether people think this makes sense (or was even the initial intent). If a separate class is created, we may need to use a similar technique of passing a session id in the work context to retrieve the corresponding correlated component instance, unless this technique was not intended to be further used. Session id in message - A new field would be added to a o.a.t.spi.wire.Message to convey the session id within the local confines of a composite. This session id would then be turned into and retrieved from whatever represenation it takes in any given binding (more on that below). It may be useful to provide common session id function for bindings in o.a.t.spi.extension.ReferenceExtension and o.a.t.spi.extension.ServiceExtension as appropriate. Bindings and session id - Each specific binding would define its own way of representing the session id and conveying it across the wire. Specifically, for binding.ws, an initial approach would be to use WS-Addressing, with other approaches (such as WS-RM) coming later. Since WS-Addressing does not provide explicit support for session ids, we could use the convention of adding it as a reference property or parameter in the wsa:To source endpoint reference header. Using the conversation lifetime summary in sec 1.5.2.5 of the c+i spec as a template, here's an attempt at outlining the specific features of conversations we can tackle and when: initially later start - @reference - CompositeContext.newSession conv injected continue- hold on to ref - load persistent ref conv - get ref as parm - CompositeContext.lookupServRef end - @EndConversation - ServiceReference.endSession conv - @EndSession on - timeouts specified in @Session calback - timeout (maxIdleTime or maxAge, hardwired) Needless to say, I most probably have missed something so by all means, let me know.
Re: [C++] Where next for Tuscany C++?
On 08/11/06, ant elder [EMAIL PROTECTED] wrote: On 11/8/06, Andrew Borley [EMAIL PROTECTED] wrote: Hi everyone, Now M2 is finally available, we should start thinking about what we'd like to do next in Tuscany C++. There were quite a few items that were suggested for M2 that we ended up leaving out for time reasons and it would be good to progress the function we have in M2. Things I would like to do/see: - Add initial support for SDO handling in the Python extension (as an XML serialization) - Remove requirement for componentType side-files for Python components - Get the PHP extension up to the level of the Ruby/Python extensions - perhaps by using the SCA for PHP stuff (http://www.osoa.org/display/PHP/SCA+with+PHP) - Improve the samples for the scripting languages (nebulous! does anyone have any good ideas?) - A sample showing the different languages working together. - A standalone REST binding - we can do a limited REST via the support in Axis2C, but I think it would be cool to have a real binding.rest that we can host in HTTPD. Please join in with your own thoughts/plans! Cheers Andy I'd like to give you a JavaScript extension supporting E4X. Cool. In fact I just downloaded MS Visual Studio express this morning with that in mind (can i used this to build everything on Windows?). No idea if it will happen as its been years since I did anything with C++. Expect to see a few newbie how to build type questions ... ...ant VS Express is able to compile our code but you may notice a fair few warnings (which we will get round to fixing). I like the idea of expanding the scripting language support to see where that takes us. It will be interesting to see if there is anything common to the different scripting languages that can be distilled into a scripting core?? Cheers, -- Pete
Re: [C++] Where next for Tuscany C++?
Excellent help, thanks Judah! I will try this tonight. ...ant On 11/8/06, Judah Diament [EMAIL PROTECTED] wrote: I am also trying to build under VC++ Express - here's what I have so far. I can build SCA C++, but can't get the samples to build. Please let me know if you get the samples built and how you did it! -Judah 1. Go to http://incubator.apache.org/tuscany/cpp_sca_overview.html, and follow the link to Getting Started - SCA C++ 2. Follow the links/instructions there under System Requirements to install the binaries of Axis2C and Tuscany SDO for C++ 3. Go to http://msdn.microsoft.com/vstudio/express/ and download a install Visual C++ 2005 Express Edition 4. Go to http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADBdisplaylang=en and install Microsoft (r) Windows Server(r) 2003 R2 Platform SDK Web Install 5. Follow the instructions at http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx - Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK 6. Return to http://incubator.apache.org/tuscany/cpp_sca_overview.html and proceed to follow the instructions under Getting Tuscany SCA for C++ working with the source release on Windows. Until step #5. 7. When you get to step 5, DO NOT try to build it at the command line. Open Visual C++, go to File - Open - Project/Solution and open tuscany_sca_cpp- 1.0-incubator-M2-src\projectsvc7\tuscany_sca\tuscany_sca.sln . Use the visual studio conversion wizard to convert this project to the newer visual studio format. 8. build the solution in Visual Studio On 11/8/06, ant elder [EMAIL PROTECTED] wrote: On 11/8/06, Andrew Borley [EMAIL PROTECTED] wrote: Hi everyone, Now M2 is finally available, we should start thinking about what we'd like to do next in Tuscany C++. There were quite a few items that were suggested for M2 that we ended up leaving out for time reasons and it would be good to progress the function we have in M2. Things I would like to do/see: - Add initial support for SDO handling in the Python extension (as an XML serialization) - Remove requirement for componentType side-files for Python components - Get the PHP extension up to the level of the Ruby/Python extensions - perhaps by using the SCA for PHP stuff (http://www.osoa.org/display/PHP/SCA+with+PHP) - Improve the samples for the scripting languages (nebulous! does anyone have any good ideas?) - A sample showing the different languages working together. - A standalone REST binding - we can do a limited REST via the support in Axis2C, but I think it would be cool to have a real binding.rest that we can host in HTTPD. Please join in with your own thoughts/plans! Cheers Andy I'd like to give you a JavaScript extension supporting E4X. In fact I just downloaded MS Visual Studio express this morning with that in mind (can i used this to build everything on Windows?). No idea if it will happen as its been years since I did anything with C++. Expect to see a few newbie how to build type questions ... ...ant - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [C++] Where next for Tuscany C++?
On 11/8/06, Pete Robbins [EMAIL PROTECTED] wrote: I like the idea of expanding the scripting language support to see where that takes us. It will be interesting to see if there is anything common to the different scripting languages that can be distilled into a scripting core?? Cheers, -- Pete Did someone say BSF C++ :) ...ant
Today's webinar
Jim, Nice job on the Webinar today! -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [C++] Where next for Tuscany C++?
Hi Pete, I am using the M2 src release. Here's what happens if I try to build SCA at the command line - the ant part goes fine, but then I get what you see below. SCA C++ itself builds in VC++ express, but the calculator sample doesn't. See my post from about an hour ago called building C++ under windows for the detailed build output from those anbd what blows up. any ideas? thanks! Judah cmd line output: Setting environment for using Microsoft Visual Studio 2005 x86 tools. Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. Warning: cannot find Build.dep cd ..\tuscany_sca_ruby C:\Program Files\Microsoft Visual Studio 8\VC\BIN\nmake.exe / /F .\tuscany_sca_ruby.mak CFG=tuscany_sca_ruby - Win32 Release Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. Warning: cannot find tuscany_sca_ruby.dep cd ..\tuscany_sca C:\Program Files\Microsoft Visual Studio 8\VC\BIN\nmake.exe / /F .\tuscany_sca.mak CFG=tuscany_sca - Win32 Release Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. Warning: cannot find tuscany_sca.dep cl.exe /nologo /MD /W3 /GX /O2 /I ../../../runtime/core/src /I C:\jud ah\work\tools\tuscany_sdo_cpp-1.0-incubator-M2-bin/include /I C:\judah\work\to ols\axis2c-bin-0.94-win32/include /D WIN32 /D NDEBUG /D _WINDOWS /D _MBC S /D _USRDLL /D SCA_EXPORTS /Fo.\Release\\ /Fd.\Release\\ /FD /c ..\..\ ..\runtime\core\src\tuscany\sca\core\Operation.cpp cl : Command line warning D9035 : option 'GX' has been deprecated and will be re moved in a future release cl : Command line warning D9036 : use 'EHsc' instead of 'GX' Operation.cpp ../../../runtime/core/src\tuscany/sca/util/Library.h(27) : fatal error C1083: Ca nnot open include file: 'windows.h': No such file or directory NMAKE : fatal error U1077: 'C:\Program Files\Microsoft Visual Studio 8\VC\BIN\c l.exe' : return code '0x2' Stop. NMAKE : fatal error U1077: 'C:\Program Files\Microsoft Visual Studio 8\VC\BIN\n make.exe' : return code '0x2' Stop. NMAKE : fatal error U1077: 'C:\Program Files\Microsoft Visual Studio 8\VC\BIN\n make.exe' : return code '0x2' Stop. On 11/8/06, Pete Robbins [EMAIL PROTECTED] wrote: Hi Judah. Are you using the latest Head version from svn or M2 source release? Please let us know what problem you are hitting when building the samples. On 08/11/06, Judah Diament [EMAIL PROTECTED] wrote: I am also trying to build under VC++ Express - here's what I have so far. I can build SCA C++, but can't get the samples to build. Please let me know if you get the samples built and how you did it! -Judah 1. Go to http://incubator.apache.org/tuscany/cpp_sca_overview.html, and follow the link to Getting Started - SCA C++ 2. Follow the links/instructions there under System Requirements to install the binaries of Axis2C and Tuscany SDO for C++ 3. Go to http://msdn.microsoft.com/vstudio/express/ and download a install Visual C++ 2005 Express Edition 4. Go to http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADBdisplaylang=en and install Microsoft (r) Windows Server(r) 2003 R2 Platform SDK Web Install 5. Follow the instructions at http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx - Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK 6. Return to http://incubator.apache.org/tuscany/cpp_sca_overview.html and proceed to follow the instructions under Getting Tuscany SCA for C++ working with the source release on Windows. Until step #5. 7. When you get to step 5, DO NOT try to build it at the command line. Open Visual C++, go to File - Open - Project/Solution and open tuscany_sca_cpp- 1.0-incubator-M2-src\projectsvc7\tuscany_sca\tuscany_sca.sln . Use the visual studio conversion wizard to convert this project to the newer visual studio format. Did you try building using the command line? I think it should work. 8. build the solution in Visual Studio On 11/8/06, ant elder [EMAIL PROTECTED] wrote: On 11/8/06, Andrew Borley [EMAIL PROTECTED] wrote: Hi everyone, Now M2 is finally available, we should start thinking about what we'd like to do next in Tuscany C++. There were quite a few items that were suggested for M2 that we ended up leaving out for time reasons and it would be good to progress the function we have in M2. Things I would like to do/see: - Add initial support for SDO handling in the Python extension (as an XML serialization) - Remove requirement for componentType side-files for Python components - Get the PHP extension up to the level of the Ruby/Python extensions - perhaps by using the SCA for PHP stuff (http://www.osoa.org/display/PHP/SCA+with+PHP) - Improve the samples for the
Re: [C++] Where next for Tuscany C++?
Did someone say BSF C++ :) ...ant not intentionally! -- Pete
Re: [C++] Where next for Tuscany C++?
On 08/11/06, Judah Diament [EMAIL PROTECTED] wrote: Hi Pete, I am using the M2 src release. Here's what happens if I try to build SCA at the command line - the ant part goes fine, but then I get what you see below. SCA C++ itself builds in VC++ express, but the calculator sample doesn't. See my post from about an hour ago called building C++ under windows for the detailed build output from those anbd what blows up. Sorry... I missed the other thread :-( I'll respond on the other thread. Cheers, -- Pete
Re: building c++ M2 under windows
On 08/11/06, Judah Diament [EMAIL PROTECTED] wrote: I am using Visual C++ 2005 Express to try to build SCA C++ and then the calculator example. Below is the output from building SCA, and then from building calculator. As you can see, the calculator buidl is failing. Any idea what is going on, and how I can fix it? The calculator build is looking for tuscany_sca_cpp-1.0-incubator-M2-src\deploy/bin/scagen.cmd which in fact does nto exist - why? did I do something wrong in the C++ build? The build of SCA should have run an ant script to build scagen and install it in the deploy/bin. I'll check why this hasn't happened and get back to you. Cheers, thanks, Judah ** ** SCA C++ build output: ** ** -- Rebuild All started: Project: tuscany_sca, Configuration: Debug Win32 -- Deleting intermediate and output files for project 'tuscany_sca', configuration 'Debug|Win32' Compiling... WSDLInterface.cpp Compiling... ServiceBindingExtension.cpp ReferenceBindingExtension.cpp InterfaceExtension.cpp ImplementationExtension.cpp Utils.cpp c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\utils.cpp(313) : warning C4018: '' : signed/unsigned mismatch c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\utils.cpp(442) : warning C4018: '' : signed/unsigned mismatch LogWriter.cpp Logger.cpp c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\logger.cpp(57) : warning C4996: 'getenv' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\stdlib.h(483) : see declaration of 'getenv' Message: 'This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\logger.cpp(74) : warning C4996: 'getenv' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\stdlib.h(483) : see declaration of 'getenv' Message: 'This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\logger.cpp(101) : warning C4996: 'vsprintf' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'vsprintf' Message: 'This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' Library.cpp FileLogWriter.cpp File.cpp c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\file.cpp(108) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' Exceptions.cpp c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(40) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(42) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(56) : warning C4996: 'strcpy' was declared deprecated c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' c:\judah\work\tools\tuscany_sca_cpp- 1.0-incubator-m2-src\runtime\core\src\tuscany\sca\util\exceptions.cpp(58) : warning C4996: 'strcpy' was declared deprecated
Re: Conversational services
Hmm, seems like my attempt at table building below did not work well, how about now. Also, in 'Bindings and session id', wsa:To is obviously not the source epr. For some reason I thought the destination address was supposed to be an epr but as you know, it is only a URI. So I guess we could try the convention of using a reference prop or parm in the source epr (wsa:From). On 11/8/06, Ignacio Silva-Lepe [EMAIL PROTECTED] wrote: I'd like to re-start this thread to get started on implementing conversational services according to the assembly and c+i for Java specs. The following items need to be addressed: SessionScopeContainer - A new class that needs to be created, in addition to HttpSessionScopeContainer, since this latter class seems to be aimed specifically at http sessions. Perhaps the two could be combined into a more general class but I'd like to hear first whether people think this makes sense (or was even the initial intent). If a separate class is created, we may need to use a similar technique of passing a session id in the work context to retrieve the corresponding correlated component instance, unless this technique was not intended to be further used. Session id in message - A new field would be added to a o.a.t.spi.wire.Message to convey the session id within the local confines of a composite. This session id would then be turned into and retrieved from whatever represenation it takes in any given binding (more on that below). It may be useful to provide common session id function for bindings in o.a.t.spi.extension.ReferenceExtension and o.a.t.spi.extension.ServiceExtension as appropriate. Bindings and session id - Each specific binding would define its own way of representing the session id and conveying it across the wire. Specifically, for binding.ws , an initial approach would be to use WS-Addressing, with other approaches (such as WS-RM) coming later. Since WS-Addressing does not provide explicit support for session ids, we could use the convention of adding it as a reference property or parameter in the wsa:To source endpoint reference header. Using the conversation lifetime summary in sec 1.5.2.5 of the c+i spec as a template, here's an attempt at outlining the specific features of conversations we can tackle and when: initially later start - @reference - CompositeContext. newSession conv injected continue- hold on to ref - load persistent ref conv - get ref as parm - CompositeContext. lookupServRef end - @EndConversation - ServiceReference. conv - @EndSession on endSession calback - timeouts specified in - timeout (maxIdleTime @Session or maxAge, hardwired) Needless to say, I most probably have missed something so by all means, let me know.
Conversational services
Ok, I'll re-re-start the thread, you can disregard the previous two tries, apologies for the inconvenience. I'd like to get started on implementing conversational services according to the assembly and c+i for Java specs. The following items need to be addressed: SessionScopeContainer - A new class that needs to be created, in addition to HttpSessionScopeContainer, since this latter class seems to be aimed specifically at http sessions. Perhaps the two could be combined into a more general class but I'd like to hear first whether people think this makes sense (or was even the initial intent). If a separate class is created, we may need to use a similar technique of passing a session id in the work context to retrieve the corresponding correlated component instance, unless this technique was not intended to be further used. Session id in message - A new field would be added to a o.a.t.spi.wire.Message to convey the session id within the local confines of a composite. This session id would then be turned into and retrieved from whatever represenation it takes in any given binding (more on that below). It may be useful to provide common session id function for bindings in o.a.t.spi.extension.ReferenceExtension and o.a.t.spi.extension.ServiceExtension as appropriate. Bindings and session id - Each specific binding would define its own way of representing the session id and conveying it across the wire. Specifically, for binding.ws, an initial approach would be to use WS-Addressing, with other approaches (such as WS-RM) coming later. Since WS-Addressing does not provide explicit support for session ids, we could use the convention of adding it as a reference property or parameter in the wsa:From source endpoint reference header, given that wsa:To is only a URI. Using the conversation lifetime summary in sec 1.5.2.5 of the c+i spec as a template, here's an attempt at outlining the specific features of conversations we can tackle and when: initially later start - @reference - CompositeContext.newSession conv injected continue- hold on to ref - load persistent ref conv - get ref as parm - CompositeContext.lookupServRef end - @EndConversation - ServiceReference.endSession conv - @EndSession on - timeouts specified in @Session calback - timeout (maxIdleTime or maxAge, hardwired) I'd like to re-start this thread to get started on implementing conversational services according to the assembly and c+i for Java specs. The following items need to be addressed: SessionScopeContainer - A new class that needs to be created, in addition to HttpSessionScopeContainer, since this latter class seems to be aimed specifically at http sessions. Perhaps the two could be combined into a more general class but I'd like to hear first whether people think this makes sense (or was even the initial intent). If a separate class is created, we may need to use a similar technique of passing a session id in the work context to retrieve the corresponding correlated component instance, unless this technique was not intended to be further used. Session id in message - A new field would be added to a o.a.t.spi.wire.Message to convey the session id within the local confines of a composite. This session id would then be turned into and retrieved from whatever represenation it takes in any given binding (more on that below). It may be useful to provide common session id function for bindings in o.a.t.spi.extension.ReferenceExtension and o.a.t.spi.extension.ServiceExtension as appropriate. Bindings and session id - Each specific binding would define its own way of representing the session id and conveying it across the wire. Specifically, for binding.ws, an initial approach would be to use WS-Addressing, with other approaches (such as WS-RM) coming later. Since WS-Addressing does not provide explicit support for session ids, we could use the convention of adding it as a reference property or parameter in the wsa:To source endpoint reference header. Using the conversation lifetime summary in sec 1.5.2.5 of the c+i spec as a template, here's an attempt at outlining the specific features of conversations we can tackle and when: initially start - @reference conv injected continue- hold on to ref conv - get ref as parm end - @EndConversation conv - @EndSession on calback - timeout (maxIdleTime or maxAge, hardwired) later start - CompositeContext.newSession conv continue
Re: building c++ M2 under windows
Copy and paste from the other thread: Judah said: === I am using the M2 src release. Here's what happens if I try to build SCA at the command line - the ant part goes fine, but then I get what you see below. SCA C++ itself builds in VC++ express, but the calculator sample doesn't. See my post from about an hour ago called building C++ under windows for the detailed build output from those anbd what blows up. any ideas? thanks! Judah cmd line output: Setting environment for using Microsoft Visual Studio 2005 x86 tools. Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. Warning: cannot find Build.dep cd ..\tuscany_sca_ruby C:\Program Files\Microsoft Visual Studio 8\VC\BIN\nmake.exe / /F .\tuscany_sca_ruby.mak CFG=tuscany_sca_ruby - Win32 Release Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. Warning: cannot find tuscany_sca_ruby.dep cd ..\tuscany_sca C:\Program Files\Microsoft Visual Studio 8\VC\BIN\nmake.exe / /F .\tuscany_sca.mak CFG=tuscany_sca - Win32 Release Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. Warning: cannot find tuscany_sca.dep cl.exe /nologo /MD /W3 /GX /O2 /I ../../../runtime/core/src /I C:\jud ah\work\tools\tuscany_sdo_cpp-1.0-incubator-M2-bin/include /I C:\judah\work\to ols\axis2c-bin-0.94-win32/include /D WIN32 /D NDEBUG /D _WINDOWS /D _MBC S /D _USRDLL /D SCA_EXPORTS /Fo.\Release\\ /Fd.\Release\\ /FD /c ..\..\ ..\runtime\core\src\tuscany\sca\core\Operation.cpp cl : Command line warning D9035 : option 'GX' has been deprecated and will be re moved in a future release cl : Command line warning D9036 : use 'EHsc' instead of 'GX' Operation.cpp ../../../runtime/core/src\tuscany/sca/util/Library.h(27) : fatal error C1083: Ca nnot open include file: 'windows.h': No such file or directory NMAKE : fatal error U1077: 'C:\Program Files\Microsoft Visual Studio 8\VC\BIN\c l.exe' : return code '0x2' Stop. NMAKE : fatal error U1077: 'C:\Program Files\Microsoft Visual Studio 8\VC\BIN\n make.exe' : return code '0x2' Stop. NMAKE : fatal error U1077: 'C:\Program Files\Microsoft Visual Studio 8\VC\BIN\n make.exe' : return code '0x2' Stop. ===
Conversational services
One last time, I am really sorry for the inconvenience, you can tell I am not having much fun with gmail's editor. I'd like to re-start the thread to get started on implementing conversational services according to the assembly and c+i for Java specs. The following items need to be addressed: SessionScopeContainer - A new class that needs to be created, in addition to HttpSessionScopeContainer, since this latter class seems to be aimed specifically at http sessions. Perhaps the two could be combined into a more general class but I'd like to hear first whether people think this makes sense (or was even the initial intent). If a separate class is created, we may need to use a similar technique of passing a session id in the work context to retrieve the corresponding correlated component instance, unless this technique was not intended to be further used. Session id in message - A new field would be added to a o.a.t.spi.wire.Message to convey the session id within the local confines of a composite. This session id would then be turned into and retrieved from whatever represenation it takes in any given binding (more on that below). It may be useful to provide common session id function for bindings in o.a.t.spi.extension.ReferenceExtension and o.a.t.spi.extension.ServiceExtension as appropriate. Bindings and session id - Each specific binding would define its own way of representing the session id and conveying it across the wire. Specifically, for binding.ws , an initial approach would be to use WS-Addressing, with other approaches (such as WS-RM) coming later. Since WS-Addressing does not provide explicit support for session ids, we could use the convention of adding it as a reference property or parameter in the wsa:From source endpoint reference header, given that wsa:To is only a URI. Using the conversation lifetime summary in sec 1.5.2.5 of the c+i spec as a template, here's an attempt at outlining the specific features of conversations we can tackle and when: initially start - @reference conv injected continue- hold on to ref conv - get ref as parm end - @EndConversation conv - @EndSession on calback - timeout (maxIdleTime or maxAge, hardwired) later start - CompositeContext.newSession conv continue- load persistent ref conv - CompositeContext.lookupServRef end - ServiceReference.endSession conv - timeouts specified in @Session Needless to say, I most probably have missed something so by all means, let me know.
Re: building c++ M2 under windows
It looks like the ant script doesn't copy the build output for the tools to the deploy directory. For a quick fix you can copy the scagen.cmd and scagen.jar from src_root\sca\tools\scagen\bld to src_root\deploy\bin. Apologies for the problem. -- Pete
Re: Today's webinar
+1 I learnt stuff I should have known ;-) On 08/11/06, Kevin Williams [EMAIL PROTECTED] wrote: Jim, Nice job on the Webinar today! -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Pete
[jira] Created: (TUSCANY-909) Current Tuscany driver Spec API inconsistence with Spec 0.95
Current Tuscany driver Spec API inconsistence with Spec 0.95 - Key: TUSCANY-909 URL: http://issues.apache.org/jira/browse/TUSCANY-909 Project: Tuscany Issue Type: Bug Components: Java SCA Core Affects Versions: Java-M2 Environment: WIndows XP Reporter: Yang Lei 1.API(annotation) differences between the current driver and 0.95 spec CompositeContext: 0.95 Spec v.s. current Tuscany driver (incubator-M2) getName -- getCompositeName getURI -- getCompositeURI getMetaData -- none Annotation difference: there is no annotation @ComponentMetadata. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Created: (TUSCANY-910) CurrentCompositeContext.getContext() returns CompositeContext with null attributes
CurrentCompositeContext.getContext() returns CompositeContext with null attributes -- Key: TUSCANY-910 URL: http://issues.apache.org/jira/browse/TUSCANY-910 Project: Tuscany Issue Type: Bug Components: Java Spec APIs Environment: Windows XP Reporter: Yang Lei I noticed, that if I call CurrentCompositeContext.getContext(); to get CompositeContext, then the values of most of the api return null: composite name:null composite URI:null Request context:null I defined attributes in the java class(service impl class) with annotation @Context and @ComponentName . They also return null. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Created: (TUSCANY-911) default value of property( anntated with @Property) is set to null by default.
default value of property( anntated with @Property) is set to null by default. -- Key: TUSCANY-911 URL: http://issues.apache.org/jira/browse/TUSCANY-911 Project: Tuscany Issue Type: Bug Reporter: Yang Lei I [EMAIL PROTECTED] on the attribute. I give the property a default value in java class. However I noticed when I define Component with the implemenation.java, even though I did not override the property value, the value is always set to null. Is the behavior expected? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Created: (TUSCANY-912) Can not define reference in component with multiple value(List or Array)
Can not define reference in component with multiple value(List or Array) Key: TUSCANY-912 URL: http://issues.apache.org/jira/browse/TUSCANY-912 Project: Tuscany Issue Type: Bug Components: Java Spec APIs Affects Versions: Java-M2 Environment: Windows XP Reporter: Yang Lei I tryied both ListMyServcie and MyService [] component name=MyNewListService implementation.java class=mysca.test.myservice.impl.MyListServiceImpl/ reference name=myListServiceMyNCService/MyListService/reference reference name=myListServiceMyListServiceFor2006/MyListService/reference property name=serviceYear2007/property /component Both throw exception on type mis match: Caused by: org.apache.tuscany.spi.wire.IncompatibleServiceContractException: The remotable settings don't match [Service Contract[MyListService;],ServiceContract[MyListService]] at org.apache.tuscany.spi.wire.WireServiceExtension.checkCompatibility(WireServiceExtension.java:60) at org.apache.tuscany.core.builder.ConnectorImpl.checkIfWireable(ConnectorImpl.java:444) ... 25 more -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Created: (TUSCANY-913) no validation on @Reference(required=true)
no validation on @Reference(required=true) -- Key: TUSCANY-913 URL: http://issues.apache.org/jira/browse/TUSCANY-913 Project: Tuscany Issue Type: Improvement Components: Java Spec APIs Affects Versions: Java-M2 Environment: windows xp Reporter: Yang Lei @Reference(required=true) or by default @Reference I can define a component without giving reference. The code still works. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Created: (TUSCANY-914) duplicated component name in include overwrite the using one.
duplicated component name in include overwrite the using one. - Key: TUSCANY-914 URL: http://issues.apache.org/jira/browse/TUSCANY-914 Project: Tuscany Issue Type: Improvement Components: Java Spec APIs Affects Versions: Java-M2 Reporter: Yang Lei duplicated component name in include overwrite the using one. It may be better to throw duplication error. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[DAS] Towards a disconnected paging capability
The RDB DAS currently has a simple paging capability that is implemented by wrapping a Command. Here is a simple example: // Build command to read all customers Command readCustomers = das.createCommand(select * from CUSTOMER order by ID); // Create a pager with page size 15 Pager pager = new PagerImpl(custCommand, 15); // Get and work with first page DataObject root = pager.next(); // Get and work with the second page root = pager.next(); // First page again root = pager.previous(); This works well if the client of the page data is on the server but not so well if the client is not. The reason is that the pager wraps a command instance which, in turn, references a connection. For a pager to work in a disconnected mode it should probably be serializable and very lightweight (it might be stored in session for instance) and it cannot count on the original connection to be available. I think this could easily be achieved by removing the instance variable from the pager that references it's command. Instead, the command can be passed as an argument to the paging methods like this: DataObject root = pager.next(someReadCommand); Does this sound reasonable? -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Commented: (TUSCANY-913) no validation on @Reference(required=true)
[ http://issues.apache.org/jira/browse/TUSCANY-913?page=comments#action_12448280 ] Raymond Feng commented on TUSCANY-913: -- @Reference annotation is not required by the SCA CI spec (v0.95) section 1.2.1.3: 1.2.1.3. Semantics of an unannotated POJO A class that has no annotations and corresponding ComponentType side file can still be used as an SCA component implementation. If the implemented interfaces are not decorated with an @Remotable annotation, the class is considered to implement a single local service whose type is defined by the class (recall that local services may be typed using either Java interfaces or classes) or, if the class implements a single interface, the interface itself. In the absence of @Property and @Reference annotations, the properties and references of a class are defined according to the following rules: 1. Public setter methods that are not included in any interface specified by an @Service annotation. 2. Protected setter methods 3. Public or protected fields unless there is a public or protected setter method for the same name The following rules are used to determine whether an unannotated field or setter method is a property or reference: 1. If its type is simple, then it is a property. 2. If its type is complex, then if the type is an interface marked by @Remotable, then it is a reference; otherwise, it is a property. 3. Otherwise, if the type associated with the member is an array or a java.util.Collection, the basetype will be the element type of the array or the parameterized type of the Collection; otherwise the basetype will be the member type. If the basetype is an interface with an @Remotable or @Service annotation then the member will be defined as a reference. Otherwise, it will be defined as a property. no validation on @Reference(required=true) -- Key: TUSCANY-913 URL: http://issues.apache.org/jira/browse/TUSCANY-913 Project: Tuscany Issue Type: Improvement Components: Java Spec APIs Affects Versions: Java-M2 Environment: windows xp Reporter: Yang Lei @Reference(required=true) or by default @Reference I can define a component without giving reference. The code still works. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Today's webinar
I wanted to thank Raymond who was furiously answering questions while I blabbered on. Thanks Raymond! Jim On Nov 8, 2006, at 12:42 PM, Pete Robbins wrote: +1 I learnt stuff I should have known ;-) On 08/11/06, Kevin Williams [EMAIL PROTECTED] wrote: Jim, Nice job on the Webinar today! -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Pete - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Feature list for Java SCA M2 please help.
Hello, Since Axis 1.1 is soon to be out, M2 SCA Java cut will not be far behind. There hasn't been any activity on the Wiki page I created below and I plan to add this to the sample readme. Also move this to the web site when we're done. I was thinking those that contributed to M2 might want to add a little more detail, possibly add something I forgot. Rick wrote: Sorry, the link didn't come out right: attempt No 2: http://wiki.apache.org/ws/What's_new_for_SCA_Java_M2?action=show Rick wrote: Hello, I think we need a short summary of what's new for M2. The only thing I can think of to derive it from would be this: http://wiki.apache.org/ws/Tuscany/TuscanyJava/M2TasksSCA Is there something better? I took a starting stab at the outline here on this wiki page: http://wiki.apache.org/ws/What's_new_for_SCA_Java_M2 Anyone have a better start ? If not can we all join in and help fill this out? (warning I'm very Wiki challanged, so feel free to improve upon) ** Thanks - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Today's webinar
Thank you all, it was very good... Do we know the attendance numbers ? - Luciano On 11/8/06, haleh mahbod [EMAIL PROTECTED] wrote: Nicely done. Thank you. We should have a link to the re-run on the website soon. On 11/8/06, Jim Marino [EMAIL PROTECTED] wrote: I wanted to thank Raymond who was furiously answering questions while I blabbered on. Thanks Raymond! Jim On Nov 8, 2006, at 12:42 PM, Pete Robbins wrote: +1 I learnt stuff I should have known ;-) On 08/11/06, Kevin Williams [EMAIL PROTECTED] wrote: Jim, Nice job on the Webinar today! -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Pete - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Refactoring commonality amongst Script containers in Java SCA
This hasn't entirely turned out as I was expecting. This container now looks remarkably similar to the other existing ones, I thought we were trying to refactor out the common parts to come up with an easier container SPI? Lets take MissingSideFileException as an example, that could be reused by many container extensions so could be in a container SPI couldn't it? ...ant On 11/4/06, Jim Marino [EMAIL PROTECTED] wrote: O.K., I committed the refactor to container.script with the follow changes: 1. Fixed the project so it builds again :-) (it is not part of the default build) 2. Removed the need for Async target invokers based on core changes 3. Remove ComponentType hack as that has been fixed in core 4. Changes to better leverage SPI - Removal of all the helper classes. I was able to factor these out by using stuff from SPI, class hierarchy simplifications, e.g. ScriptImplementation - Scripts now instantiated in the build phase as opposed to loading - Stronger typing of errors, e.g. MissingSideFileException - Use of ObjectFactory for creating Script instances 5. Fix issue where mutable properties were not thread-safe (i.e. instances were shared across implementation instances). 6. Remove dependency on core impl classes and cleanup some of the unit tests 7. Fix checkstyle warnings and PMD failures 8. Add license file 9 Use a config class for creating a ScriptComponent as that takes a number of constructor parameters There are also some things that could be done as potential improvements: 1. Better test quality. - There are no real tests involving invocations and wires to and from scripts. This could be set up with EasyMock in a pretty straightforward way without the need for SCATestCase - Likewise for properties, we should test accessing properties from within a script. 2. Support for scopes other than module. 3. Some of the class hierarchies seem like they could be simplified, flattened, or removed. For example, ScriptInstance and its implementation could potentially be removed completely and just have the ScriptComponent return the BSF engine (ScriptTargetInvoker would need to be changed for this to carry additional information). Jim On Oct 31, 2006, at 3:05 AM, ant elder wrote: No go for it, that would be great! ...ant On 10/31/06, Jim Marino [EMAIL PROTECTED] wrote: So do you mind if I make the changes? Jim On Oct 31, 2006, at 1:02 AM, ant elder wrote: No, tied up on M2 things, i doubt I'll have time for this till M2 is done. ...ant On 10/31/06, Jim Marino [EMAIL PROTECTED] wrote: Any luck in making these changes? Jim On Oct 26, 2006, at 8:30 AM, Jim Marino wrote: As you don't like the easy SPI extension I've got rid of the easy extension dependency of the script container. I've moved the script container into trunk as it was going stale and i want to start using and improving it. It still uses some of the easy classes which are in a helper package now, i'll get rid of them as we clean things up. I saw you've done some core changes for the componentType problem, thanks, I'll go look at how to use that for this (and the other script containers) and change the code as appropriate. You said you'd take on getting the things like the async code into the spi to avoid all that duplicate code so would you like to go ahead and do that now? (or I can do it if you like). O.K. I committed the changes. There is no need to handle message id correlation as the wiring fabric (specifically TargetInvokerExtension) does it automatically. You should be able to delete AsyncMonitor and the async target invoker. You will also need to change some of the signatures of the builders to pass in a WorkContext and ExectionMonitor (these are autowired to ComponentBuilderExtension). I made some basic changes the the script container to pass tests but you will probably need to do some more (limited) refactoring to get it fully operational. I fixed the Groovy container so you can use that as an example. (BTW, as a side note, container.script is not part of the build by default). The other changes to make are to create a script specialization of ComponentType in the loader and use ObjectFactory for creating instances. Once the componentType and async changes are done I/we can look at the next things to simplify and once all that refactoring is done I'll look at what remains in the helper package and see if there are still things I think could be simplified. If you can make those changes, we can take another pass over the helper classes and see what is left. Jim ...ant - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ServletLauncherInitException: Autowire target not found
To answer my own question, with help from Jim, it turns out that the webapp.scdl in the sample was not in sync with that in runtime/webapp-host; in fact they're both different from each other. The one in the sample was missing the resource host registry entry, and the one in runtime was missing the databinding includes. This begs the question of why the sample has its own copy of webapp.scdl. In fact a lot of (if not all) the web samples have their own copy. Would it be better/possible to have them copy it from runtime at build time? On 11/6/06, Ignacio Silva-Lepe [EMAIL PROTECTED] wrote: Trying to start the helloworldws-async sample (from the trunk) on tomcat, I get the subject exception on the console: org.apache.tuscany.runtime.webapp.ServletLauncherInitException: org.apache.tusca ny.spi.component.TargetNotFoundException: Autowire target not found [ org.apache. tuscany.spi.host.ResourceHost ] A full stack trace can be found in: http://rafb.net/paste/results/1FJh4816.html I am not sure what may be causing ResourceHost to not be found as an autowire target. I did notice when building the sample service the following warnings, but the war was built successfully: [WARNING] Artifact javax.servlet:servlet-api:jar:2.4:provided retains local scope 'provided' overriding broader scope 'runtime' given by a dependency. If this is not intended, modify or remove the loc al scope. and [WARNING] Artifact junit:junit:jar:3.8.1:test retains local scope 'test' overridin g broader scope 'runtime' given by a dependency. If this is not intended, modify or remove the loc al scope. Not sure if it is related. Any ideas?
Re: [DAS] Towards a disconnected paging capability
Would this proposal implicate in performance degradation over a local environment, compared with what we have today ? As the pager would have to connect and execute the command every time the pager moves to the next or previous pages ? If we could come up with same interface for connected and disconnected pagers, maybe we could have a pager factory that you would instantiate either one, connected pager (current version) or disconnected pager (what you are proposing). This could give us a better flexibility and we would leave the decision to the api consumer, where he would balance his performance needs... Toughts ? On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The RDB DAS currently has a simple paging capability that is implemented by wrapping a Command. Here is a simple example: // Build command to read all customers Command readCustomers = das.createCommand(select * from CUSTOMER order by ID); // Create a pager with page size 15 Pager pager = new PagerImpl(custCommand, 15); // Get and work with first page DataObject root = pager.next(); // Get and work with the second page root = pager.next(); // First page again root = pager.previous(); This works well if the client of the page data is on the server but not so well if the client is not. The reason is that the pager wraps a command instance which, in turn, references a connection. For a pager to work in a disconnected mode it should probably be serializable and very lightweight (it might be stored in session for instance) and it cannot count on the original connection to be available. I think this could easily be achieved by removing the instance variable from the pager that references it's command. Instead, the command can be passed as an argument to the paging methods like this: DataObject root = pager.next(someReadCommand); Does this sound reasonable? -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [DAS] Towards a disconnected paging capability
Technically it's fine, but conceptually I'm not sure about passing a command object to a pager. What does it mean to page a command? Another option would be to get rid of the Pager altogether. The only state held in the Pager if you get rid of the Command is the page size and current index. We could easily stash those on the root DataObject (even in the static case we will have a containing DataObject created by the DAS.) Then you could move nextPage(), previousPage(), and getPage() to Command. Brent On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The RDB DAS currently has a simple paging capability that is implemented by wrapping a Command. Here is a simple example: // Build command to read all customers Command readCustomers = das.createCommand(select * from CUSTOMER order by ID); // Create a pager with page size 15 Pager pager = new PagerImpl(custCommand, 15); // Get and work with first page DataObject root = pager.next(); // Get and work with the second page root = pager.next(); // First page again root = pager.previous(); This works well if the client of the page data is on the server but not so well if the client is not. The reason is that the pager wraps a command instance which, in turn, references a connection. For a pager to work in a disconnected mode it should probably be serializable and very lightweight (it might be stored in session for instance) and it cannot count on the original connection to be available. I think this could easily be achieved by removing the instance variable from the pager that references it's command. Instead, the command can be passed as an argument to the paging methods like this: DataObject root = pager.next(someReadCommand); Does this sound reasonable? -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [DAS] Towards a disconnected paging capability
There would be no performance implication since each pager next or previous operation requires a Command execution in either case. Luciano Resende wrote: Would this proposal implicate in performance degradation over a local environment, compared with what we have today ? As the pager would have to connect and execute the command every time the pager moves to the next or previous pages ? If we could come up with same interface for connected and disconnected pagers, maybe we could have a pager factory that you would instantiate either one, connected pager (current version) or disconnected pager (what you are proposing). This could give us a better flexibility and we would leave the decision to the api consumer, where he would balance his performance needs... Toughts ? On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The RDB DAS currently has a simple paging capability that is implemented by wrapping a Command. Here is a simple example: // Build command to read all customers Command readCustomers = das.createCommand(select * from CUSTOMER order by ID); // Create a pager with page size 15 Pager pager = new PagerImpl(custCommand, 15); // Get and work with first page DataObject root = pager.next(); // Get and work with the second page root = pager.next(); // First page again root = pager.previous(); This works well if the client of the page data is on the server but not so well if the client is not. The reason is that the pager wraps a command instance which, in turn, references a connection. For a pager to work in a disconnected mode it should probably be serializable and very lightweight (it might be stored in session for instance) and it cannot count on the original connection to be available. I think this could easily be achieved by removing the instance variable from the pager that references it's command. Instead, the command can be passed as an argument to the paging methods like this: DataObject root = pager.next(someReadCommand); Does this sound reasonable? -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [DAS] Towards a disconnected paging capability
I am probably missing something. If we stash the page size and number in the root data object how would that info get back to the command for the next page request? -- Kevin Brent Daniel wrote: Technically it's fine, but conceptually I'm not sure about passing a command object to a pager. What does it mean to page a command? Another option would be to get rid of the Pager altogether. The only state held in the Pager if you get rid of the Command is the page size and current index. We could easily stash those on the root DataObject (even in the static case we will have a containing DataObject created by the DAS.) Then you could move nextPage(), previousPage(), and getPage() to Command. Brent On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The RDB DAS currently has a simple paging capability that is implemented by wrapping a Command. Here is a simple example: // Build command to read all customers Command readCustomers = das.createCommand(select * from CUSTOMER order by ID); // Create a pager with page size 15 Pager pager = new PagerImpl(custCommand, 15); // Get and work with first page DataObject root = pager.next(); // Get and work with the second page root = pager.next(); // First page again root = pager.previous(); This works well if the client of the page data is on the server but not so well if the client is not. The reason is that the pager wraps a command instance which, in turn, references a connection. For a pager to work in a disconnected mode it should probably be serializable and very lightweight (it might be stored in session for instance) and it cannot count on the original connection to be available. I think this could easily be achieved by removing the instance variable from the pager that references it's command. Instead, the command can be passed as an argument to the paging methods like this: DataObject root = pager.next(someReadCommand); Does this sound reasonable? -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Refactoring commonality amongst Script containers in Java SCA
On Nov 8, 2006, at 2:08 PM, ant elder wrote: This hasn't entirely turned out as I was expecting. This container now looks remarkably similar to the other existing ones, I see this as a good sign...to me it means we are arriving at an SPI I thought we were trying to refactor out the common parts to come up with an easier container SPI? Yes and I couldn't find much to factor into the kernel. However, I did factor things out that were redundant with the later. Lets take MissingSideFileException as an example, that could be reused by many container extensions so could be in a container SPI couldn't it? MissingSideFileException could be moved up. However, I would be very cautious about moving implementation classes. There is always a trade- off in SPI design between providing out-of-the-box implementations versus too tightly coupling extensions to the containers they are extending. If there are too many implementation classes in an SPI, it will render the latter inflexible and it will be difficult to evolve in a backward compatible way in the future. For example, we can take a few specifics: 1. ScriptComponentBuilder. Injecting of properties is specific to the implementation type. One thing that we could potentially change is having scope containers passed in. We should think about this. 2. ScriptComponentTypeLoader. How a component type side file is resolved for an implementation type is specific to it. Providing utility classes for trivial operations such as reading streams will just complicate the SPI needlessly. 3. ScriptImplementationLoader. Pretty much the same comments as for ScriptComponentTypeLoader. One thing that could be simplified in the extension (as I mentioned previously) is ScriptInstance could be removed altogether. What do you think? Perhaps I'm just not seeing what could be moved up. Could you elaborate on the specifics? Jim ...ant On 11/4/06, Jim Marino [EMAIL PROTECTED] wrote: O.K., I committed the refactor to container.script with the follow changes: 1. Fixed the project so it builds again :-) (it is not part of the default build) 2. Removed the need for Async target invokers based on core changes 3. Remove ComponentType hack as that has been fixed in core 4. Changes to better leverage SPI - Removal of all the helper classes. I was able to factor these out by using stuff from SPI, class hierarchy simplifications, e.g. ScriptImplementation - Scripts now instantiated in the build phase as opposed to loading - Stronger typing of errors, e.g. MissingSideFileException - Use of ObjectFactory for creating Script instances 5. Fix issue where mutable properties were not thread-safe (i.e. instances were shared across implementation instances). 6. Remove dependency on core impl classes and cleanup some of the unit tests 7. Fix checkstyle warnings and PMD failures 8. Add license file 9 Use a config class for creating a ScriptComponent as that takes a number of constructor parameters There are also some things that could be done as potential improvements: 1. Better test quality. - There are no real tests involving invocations and wires to and from scripts. This could be set up with EasyMock in a pretty straightforward way without the need for SCATestCase - Likewise for properties, we should test accessing properties from within a script. 2. Support for scopes other than module. 3. Some of the class hierarchies seem like they could be simplified, flattened, or removed. For example, ScriptInstance and its implementation could potentially be removed completely and just have the ScriptComponent return the BSF engine (ScriptTargetInvoker would need to be changed for this to carry additional information). Jim On Oct 31, 2006, at 3:05 AM, ant elder wrote: No go for it, that would be great! ...ant On 10/31/06, Jim Marino [EMAIL PROTECTED] wrote: So do you mind if I make the changes? Jim On Oct 31, 2006, at 1:02 AM, ant elder wrote: No, tied up on M2 things, i doubt I'll have time for this till M2 is done. ...ant On 10/31/06, Jim Marino [EMAIL PROTECTED] wrote: Any luck in making these changes? Jim On Oct 26, 2006, at 8:30 AM, Jim Marino wrote: As you don't like the easy SPI extension I've got rid of the easy extension dependency of the script container. I've moved the script container into trunk as it was going stale and i want to start using and improving it. It still uses some of the easy classes which are in a helper package now, i'll get rid of them as we clean things up. I saw you've done some core changes for the componentType problem, thanks, I'll go look at how to use that for this (and the other script containers) and change the code as appropriate. You said you'd take on getting the things like the async code into the spi to avoid all that
[jira] Reopened: (TUSCANY-876) JDBC Stored proceduce container using DAS
[ http://issues.apache.org/jira/browse/TUSCANY-876?page=all ] Luciano Resende reopened TUSCANY-876: - Looks like I was too fast closing it as a duplicate... reopening... JDBC Stored proceduce container using DAS - Key: TUSCANY-876 URL: http://issues.apache.org/jira/browse/TUSCANY-876 Project: Tuscany Issue Type: New Feature Affects Versions: Java-Mx Reporter: Amita Vadhavkar http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg09892.html So, initially this JIRA will be used to implement for stored procedure feature and later can be linked to the generic JIRA http://issues.apache.org/jira/browse/TUSCANY-864 for the entire integration -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
IRC chat log :Exposing DAS as an SCA container - November 08th 2006
Here is the IRC chat we had around exposing DAS as an SCA container. 3[15:48] * ant_away is now known as ant_ 3[15:50] * kevin_ has joined #TUSCANY 3[15:55] * Amita has joined #tuscany [15:56] ant_ hi Amita [15:59] Amita Hi Ant 1[15:59] lresende hello Amita [15:59] Amita Hi Luciano and Kevin, shall we start now? [15:59] kevin_ SOUNDS GOOD GOOD MORNING [15:59] kevin_ oops caps lock 1[16:00] lresende sure 2[16:00] * Amita has quit IRC (Client Quit) 3[16:00] * Amita has joined #tuscany [16:00] Amita sorry lost connection for 1 min [16:00] kevin_ sorry i missed your invite last night [16:00] Amita np [16:01] kevin_ did you and luciano get a chance to discuss the SCA integration? 1[16:01] lresende we chated little bit, more towards getting the meeting today [16:01] kevin_ i see 1[16:02] lresende i was just looking into the documentation and some code provided by Amita [16:02] kevin_ i committed Luciano's sample this morning ... mayb e we can start with that 1[16:02] lresende sure [16:02] ant_ quick question from me before you get into that, 1[16:02] lresende i conside the sample a first step on getting integration between DAS and SCA [16:02] kevin_ you may have to help me with some terminology [16:02] kevin_ sure [16:02] kevin_ right [16:02] ant_ Amita, are you still looking at the stored procedure stuff? [16:02] kevin_ that makes sense 1[16:03] lresende in that, i expose DAS as simple SCA service and uses a web app to consume it [16:03] Amita looking at all CRUD+SP support and not only SP 1[16:03] lresende the service supports any kind of command supported by das today [16:03] Amita have a container supporting that for static and dynamic approaches [16:03] ant_ so not a binding or container specifically for stored procedures? [16:03] kevin_ ant , i think we can treat SP and CRUD the same [16:03] Amita yes [16:04] ant_ was that a yes to me or kevin_? [16:04] Amita yes - support all DAS commands not only SP [16:04] ant_ hmm [16:05] kevin_ ant ... do you think we need something specific to SP [16:05] Amita ant - you have some point to deal with only SP - some reason? [16:05] ant_ well thats what TUSCANY-876 was for. The use of DAS was just an implementtaion detail [16:06] kevin_ my motivation id SCA/DAS [16:06] ant_ i understand [16:06] ant_ that [16:06] kevin_ do we need a seperate effort? 1[16:08] lresende ant: i have closed that, as Amita created a new one, more generic... but looks like i should re-open that? [16:08] ant_ well both venkat and i have suggested that yes [16:08] kevin_ sounds like it is more and less generic :-) [16:09] ant_ you guys continue with what talking about on this chat, i don't want to hold that up [16:09] kevin_ np, thanks 1[16:09] lresende thanks ant... [16:09] kevin_ luciano. i did not see a working test with the sample [16:10] kevin_ is that in the works or, did i just miss it [16:10] Amita ant, still not clear about separate effort for SP? [16:10] kevin_ ok 1[16:10] lresende kevin: you mean, junit testing for das.service ? [16:10] kevin_ any test ... junit woiuld be good ... htmlUnit 1[16:11] lresende i'm planning to have same way we do for companyweb, with htmlUnit and TC [16:11] kevin_ i did not see a way to test the sample [16:11] kevin_ cool 1[16:11] lresende comming 1[16:11] lresende soon [16:11] ant_ Amita, you're a volunteer so I want you to work on what interests you. TUSCANY-876 can wait for who ever is interested [16:12] Amita kevin: Kevin - one question - could not get you point on Update SQL - in code am using dObj.set(idx, val); [16:12] kevin_ amita/ant . DAS/SCA integration is one thing ... I guess that a generic SP integration couls be another 1[16:12] lresende TUSCANY-876 is reopened [16:12] Amita OK [16:13] ant_ thx [16:13] kevin_ Amita. Are you referring to my question about using Change History to drive updates? 1[16:14] lresende ok, Amita, do you have specific topics, questions around the das container ? or around das ? [16:15] Amita yes - one question - about DAS [16:15] Amita would like to know use of ConnectionInfo tag for a non web scenario [16:15] Amita is there some code - I can take a look at - where for non web , it is used? 1[16:15] lresende ok, first... 1[16:16] lresende i think we should probably add a SCDL tag for connection info [16:16] kevin_ the connection tag is only used today to specify a DataSource [16:16] kevin_ so, that us is specific to DataSource not web [16:17] kevin_ the other option is to explicitly provide the DAS with a JDBC Connection instance3 1[16:17] lresende as we might deploy the same service into a C++ environment, and that connection info would be invalid [16:17] Amita yes [16:18] Amita so in Java, how to make the context available ? in web - we can have it in server conf of tomcat etc [16:18] kevin_ so, all RDB DAS test cases use the Connection instance approach since ... [16:18] Amita but when standalone and want to use Connection info, how to do? 1[16:18] lresende you would use
Exposing DAS as an SCA container - Where contribution should go for better collaboration ?
Hi Guys Amita have started work to expose DAS as an SCA container, and we are looking what would be the best way to get collaboration on continuing the task. One of the ways we were thinking was to clean-up what is available today and get it into the trunk, so we could share and continue contributing by submitting patches. Is that the way to go ? Any other ideas ? If that's the case, would the right place to have the container be around : /java/sca/containers ? and then we would have a client available in das/samples/das.container.client ? Toughts ? - Luciano Resende
Re: Exposing DAS as an SCA container - Where contribution should go for better collaboration ?
Hi Luciano, Is the DAS container a component or binding? If it is in the former, I would think it should go under container/container.das, otherwise binding/binding/das/ Also, the dependency in the module should be against a version of DAS and not the DAS project directly so that it is treated as an external dependency like Axis or OpenEJB. Jim On Nov 8, 2006, at 5:08 PM, Luciano Resende wrote: Hi Guys Amita have started work to expose DAS as an SCA container, and we are looking what would be the best way to get collaboration on continuing the task. One of the ways we were thinking was to clean-up what is available today and get it into the trunk, so we could share and continue contributing by submitting patches. Is that the way to go ? Any other ideas ? If that's the case, would the right place to have the container be around : /java/sca/containers ? and then we would have a client available in das/samples/das.container.client ? Toughts ? - Luciano Resende - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DAS as a POJO service (POJService?)
Thanks Kevin, some comments below... As for the naming :) I was just calling DAS exposed as an SCA service... On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The term DAS-POJO Service is probably confusing. What I meant is service implemented in Java that does not require a new component type. POJService? -- Kevin Kevin Williams wrote: I just committed the nice DAS - POJO service contribution from Luciano and have a few comments/discussion points: Here is the service API: /** * * @author lresende * */ public interface DASService { public void configureService(InputStream configStream) throws DASServiceException; public DataObject executeCommand(String commandName, Vector commandArguments) throws DASServiceException; public DataObject execute(String adHocQuery, Vector commandArguments) throws DASServiceException; public void applyChanges(DataObject graphRoot) throws DASServiceException; } We need to find a way to replace the configureService API with an SCA pattern for providing config information. Yes, this was THE thing I know we need to improve as mentioned on this thread : http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10421.html SCA guys, any suggestions about something already available in SCA ? Or maybe an Annotation ? Amita has solved this with the DAS-container contribution but I assume there is a pattern for POJO services too. We should avoid checked exceptions. Could you elaborate little bit more here ? Why exactly this ? Could the Vector argument list be replaced with a List? I think Apache discourages the use of the @author tag Sure, it was just a setting in my eclipse IDE, I'll create a patch removing that. As for the other things... I'll look into that and provide a patch with the changes... -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tuscany Website Updates
Hi, I have been checking the new website that is published at this link http://people.apache.org/~rfeng/tuscany/site-publish/ on several different occasions to see if I can adapt to the new coloring. I think our current site color combo (http://incubator.apache.org/tuscany/) is much more inviting and easier on the eyes. what does everyone else think? I am copying tuscany users on this mail to get your input. The prototype at http://people.apache.org/~rfeng/tuscany/site-publish/ has changed the layout of the website and got rid of the tabs. Is this easier to follow? Your feedback to make the site more user friendly is important to us. Thank you for taking the time to give feedback. Haleh On 11/6/06, haleh mahbod [EMAIL PROTECTED] wrote: Venkat, Thanks for the website work. It looks better and is easier to navigate through. Minor comments - We already mention that Tuscany is under Apache License 2.0 in the overview. It does not seem necessary to have an entry called license and ASF under General section. - Down load page should contain an entry that describes content of each release. For example, what is in SCA Java M1. - Can FAQ be a link to Wiki? It would be easier to update by anyone. - How to Add info about SCA extensions? 1. Add Extension entry to SCA navigation tab on the left after SCA C++. 2. Create a top level navigation for 'SCA lang extensions' just like what we have for SCA, SDO, DAS. It could contain overview, documentation, download (maybe) entries. The challenge will then be how to separate extensions provided on top of C++ or Java runtimes. Option 2 seems easier to navigate through. On 11/6/06, Luciano Resende [EMAIL PROTECTED] wrote: You should be able to run build.bat and get the site-publish created. Also, rfeng had posted a snapshot of the site during today's IRC chat, and it's available at : http://people.apache.org/~rfeng/tuscany/site-publish/ PS.: I think I like the greenish version better then the new colors... - Luciano Resende On 11/6/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi Venkat, There is no site-publish directory in this zip file. How do I look at the content? Haleh On 11/6/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, I have put in a new zip file - tuscany_site_Nov_6.zip http://issues.apache.org/jira/secure/attachment/12344405/tuscany_site_Nov_6.zip in the JIRA ( http://issues.apache.org/jira/browse/TUSCANY-703) containing the updates to the look and feel. I have linked up all (hopefully) the content that exists today. If people find this agreeable I can commit this and we can start pushing in contents into various areas from now on. Raymond, could you please over write your last post on people.apache.orgwith the contents of this zip file. Thanks - Venkat On 11/4/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi, Information presented on the website needs to be progressive. This means that we expose critical/interesting information as top level information and allow the reader to learn more as they advance. I agree that it is interesting for users and developers to know about SCA's flexibility to extend beyond Java and C++ at the first glance. This is something we'd want to promote as a top level piece of information on the website. On the other hand, information about bindings seem to be implementation details that are not critical as a top level information. User will reach to this information when he/she drills down for more information. Haleh On 11/3/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, Please find my comments inline. Thanks - Venkat On 11/3/06, Andrew Borley [EMAIL PROTECTED] wrote: For SCA, I'd like to see a little more emphasis on the things we support in our releases - Tuscany SCA does more than just C++ or Java, and the fact that we implement in these 2 languages doesn't really need to be quite so highlighted on the site (IMO). If we have more than just Java and C++ lets go and mention that, but under SCA - is all that I am asking. So that a user knows where all of this goes into or what the common thread is to all of this. Remember we also have DAS and SDO. What would be cool would be a listing of all the stuff we support, and then link to some info about where and how we provide that support. E.g: Component language bindings: Java C++ Javascript Python Ruby PHP (with a link to the SCA for PHP project for now) etc.. Containers: Tomcat HTTPD etc.. Bindings: Axis2 Web Services etc.. What do people think? This will certainly interest the users..
Re: OSGi Binding
Hi Nicole, Joel, and others, Sorry it took me so long to respond (I was out a few days, traveling, and then backlogged)...Here are some thoughts on the slides Nicole put together (Thanks!) as well as to the email thread. I was thinking the OSGi container would be a host environment that Tuscany would be integrated with, similar to Tomcat, Jetty, or a J2EE server. As such, it would have some special capabilities: 1. As Nicole mentioned, there would be a special OSGi binding for composite references and services. For references, the OSGi binding would provide a connection to an OSGi service. For services, the OSGi binding would essentially publish an SCA component (to be technically correct, a service offered by an SCA component to the OSGi service registry. This would allow OSGi services to consume SCA services. This is somewhat analogous to ServletHost (e.g. OSGiHost) where Tuscany deployed on a servlet container can register Servlets in that container (related to this, we probably want to have the ability for the OSGi container to provide an implementation of ServletHost that registers Servlets using the OSGi http service mechanism). We will have to address the more dynamic nature of OSGi services. I would also like to avoid proxying the OSGi services if possible. 2. The OSGi container would isolate SCA application composites according to its classloader semantics. Currently, Tuscany has two composite trees, an application and system tree: Runtime | /\ /\ / Root System Composite / Root Application Composite The root composites may contain child composites. The system composite tree contains runtime extensions such as Axis. Each composite has its own classloader. This maintains isolation between application composites and runtime extensions.We plan on introducing a multi-parent classloader for system composites. This is arises from the need to support scenarios where application code may need to access dependencies associated with a system extension. For example, application code may need to access classes in Spring. These classes need to be shared with the application composite classloader. We were planning on loading dependencies that needed to be shared in a parent classloader of the system extension classloader. The former classloader would then also become a parent of the application classloader (which would have multiple parents). One issue is going to be reconciling this scheme with OSGi's classloading infrastructure. In relation to this, I was thinking we would want a common packaging mechanism for Tuscany extensions across host environments. For example, the Axis2 extension should not have to be repackaged or modified when deployed on Tomcat or Equinox. Application composites, however, could be bundles. I was thinking there would be one Tuscany runtime deployed to an OSGi container. This would get bootstrapped (as Joel mentioned) by a BundleActivator and would look similar to the web app launcher with one exception. Namely, while the web app launcher boots the runtime in a separate classloader, the BundleActivator would not need to do this and would instead boot Tuscany in the bundle classloader. The Tuscany runtime bundle would consequently have to export classes used by applications such as SCA API. Applications would be deployed as bundles as well. It would be nice if we could listen to bundles coming online and check for SCA scdl (configuration files). If one is found, we load the bundle as an application composite and stick it in the runtime application tree. The classloader for this composite would be the bundle's. The bundle itself would have to import certain SCA packages (i.e. the ones exported by the runtime bundle). The hard part is going to be figuring out how to deal with extensions. Specifically, in the case I mentioned above where application code needs to reference certain extension classes. I would like to avoid having special packaging for Tuscany extensions when deployed to an OSGi container versus the Servlet container. So, we could deploy the same Axis2 extension to Tuscany on an OSGi container and Tuscany on a Servlet container. This would mean the runtime would have to behave slightly differently depending on this host. In this respect, perhaps what we could do is instead of creating a parent classloader to the extension and also having it as a parent to the application, we could have OSGi manage this? One way to do this would be for a particular extension to use just the bundle classloader and programmatically export packages that need to be shared (is there an OSGi api to do this, I recall a dynamic export/ import)? One the application side, the bundle import those packages. Do you guys think this makes sense? I have some skeletal code
Re: Tuscany Website Updates
On 11/8/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi, I have been checking the new website that is published at this link http://people.apache.org/~rfeng/tuscany/site-publish/ on several different occasions to see if I can adapt to the new coloring. I think our current site color combo (http://incubator.apache.org/tuscany/) is much more inviting and easier on the eyes. what does everyone else think? My preference is for the current green color schema, that is on the live web-site. I am copying tuscany users on this mail to get your input. The prototype at http://people.apache.org/~rfeng/tuscany/site-publish/ has changed the layout of the website and got rid of the tabs. Is this easier to follow? Your feedback to make the site more user friendly is important to us. Thank you for taking the time to give feedback. The navigation looks good, but i'd like to see a central documentation page back, as we discussed on IRC. Haleh On 11/6/06, haleh mahbod [EMAIL PROTECTED] wrote: Venkat, Thanks for the website work. It looks better and is easier to navigate through. Minor comments - We already mention that Tuscany is under Apache License 2.0 in the overview. It does not seem necessary to have an entry called license and ASF under General section. - Down load page should contain an entry that describes content of each release. For example, what is in SCA Java M1. - Can FAQ be a link to Wiki? It would be easier to update by anyone. - How to Add info about SCA extensions? 1. Add Extension entry to SCA navigation tab on the left after SCA C++. 2. Create a top level navigation for 'SCA lang extensions' just like what we have for SCA, SDO, DAS. It could contain overview, documentation, download (maybe) entries. The challenge will then be how to separate extensions provided on top of C++ or Java runtimes. Option 2 seems easier to navigate through. On 11/6/06, Luciano Resende [EMAIL PROTECTED] wrote: You should be able to run build.bat and get the site-publish created. Also, rfeng had posted a snapshot of the site during today's IRC chat, and it's available at : http://people.apache.org/~rfeng/tuscany/site-publish/ PS.: I think I like the greenish version better then the new colors... - Luciano Resende On 11/6/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi Venkat, There is no site-publish directory in this zip file. How do I look at the content? Haleh On 11/6/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, I have put in a new zip file - tuscany_site_Nov_6.zip http://issues.apache.org/jira/secure/attachment/12344405/tuscany_site_Nov_6.zip in the JIRA ( http://issues.apache.org/jira/browse/TUSCANY-703) containing the updates to the look and feel. I have linked up all (hopefully) the content that exists today. If people find this agreeable I can commit this and we can start pushing in contents into various areas from now on. Raymond, could you please over write your last post on people.apache.orgwith the contents of this zip file. Thanks - Venkat On 11/4/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi, Information presented on the website needs to be progressive. This means that we expose critical/interesting information as top level information and allow the reader to learn more as they advance. I agree that it is interesting for users and developers to know about SCA's flexibility to extend beyond Java and C++ at the first glance. This is something we'd want to promote as a top level piece of information on the website. On the other hand, information about bindings seem to be implementation details that are not critical as a top level information. User will reach to this information when he/she drills down for more information. Haleh On 11/3/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, Please find my comments inline. Thanks - Venkat On 11/3/06, Andrew Borley [EMAIL PROTECTED] wrote: For SCA, I'd like to see a little more emphasis on the things we support in our releases - Tuscany SCA does more than just C++ or Java, and the fact that we implement in these 2 languages doesn't really need to be quite so highlighted on the site (IMO). If we have more than just Java and C++ lets go and mention that, but under SCA - is all that I am asking. So that a user knows where all of this goes into or what the common thread is to all of this. Remember we also have DAS and SDO. What would be cool would be a listing of all the stuff we support, and then link to some info about where and how we provide that support. E.g:
Re: DAS as a POJO service (POJService?)
Isn't this a component whose implementation is a DAS query (not DAS itself)? The component offers a service which is defined as DASService. So, instead of Java code, we are using a query. I say this because in SCA we don't really have the notion of an implementation-less service and a component is defined by the SCDL component entry so there is always a component. Jim On Nov 8, 2006, at 9:13 PM, Luciano Resende wrote: Thanks Kevin, some comments below... As for the naming :) I was just calling DAS exposed as an SCA service... On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The term DAS-POJO Service is probably confusing. What I meant is service implemented in Java that does not require a new component type. POJService? -- Kevin Kevin Williams wrote: I just committed the nice DAS - POJO service contribution from Luciano and have a few comments/discussion points: Here is the service API: /** * * @author lresende * */ public interface DASService { public void configureService(InputStream configStream) throws DASServiceException; public DataObject executeCommand(String commandName, Vector commandArguments) throws DASServiceException; public DataObject execute(String adHocQuery, Vector commandArguments) throws DASServiceException; public void applyChanges(DataObject graphRoot) throws DASServiceException; } We need to find a way to replace the configureService API with an SCA pattern for providing config information. Yes, this was THE thing I know we need to improve as mentioned on this thread : http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10421.html SCA guys, any suggestions about something already available in SCA ? Or maybe an Annotation ? Amita has solved this with the DAS-container contribution but I assume there is a pattern for POJO services too. We should avoid checked exceptions. Could you elaborate little bit more here ? Why exactly this ? Could the Vector argument list be replaced with a List? I think Apache discourages the use of the @author tag Sure, it was just a setting in my eclipse IDE, I'll create a patch removing that. As for the other things... I'll look into that and provide a patch with the changes... -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Candidate M2 Distros @ http://people.apache.org/~rfeng/tuscany/incubator-M2/downloads/
Now it's ok, thanks! Terry On 11/9/06, Raymond Feng [EMAIL PROTECTED] wrote: Hi, Can you check if you have org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0-incubator-M2-SNAPSHOT:jar in your local maven repo? It is usually located at C:\Documents and Settings\zfeng\.m2\repository\org\apache\tuscany\sca\services\databinding\databinding-sdo\1.0-incubator-M2-SNAPSHOT for windows. The problem here is that our runtime will try to resolve the dependencies using the well-known maven repositories if it cannot be resolved locally and our test maven repo is not on that list. Once our M2 is officially out, these artifacts will be available on the well-known maven repos. Thanks, Raymond - Original Message - From: Terry Zhou [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, November 07, 2006 11:26 PM Subject: Re: Candidate M2 Distros @ http://people.apache.org/~rfeng/tuscany/incubator-M2/downloads/ When I download the sca-java-M2 and build samples then run helloworldws webapp, I get the following exceptions, maybe the repo in webapp.scdl should be changed. Thanks, Terry INFO: Deploying web application archive sample-helloworldws.war [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___repo1.maven.org_maven2_ [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___people.apache.org_repo_m 2-snapshot-repository [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___people.apache.org_repo_m 2-incubating-repository_ [INFO] snapshot org.apache.tuscany.sca.services.databinding:databinding-sdo:1.0- incubator-M2-SNAPSHOT: checking for updates from http___people.apache.org_repo_m 1-snapshot-repository_ [WARNING] Unable to get resource from repository http___repo1.maven.org_maven2_ (http://repo1.maven.org/maven2/) [WARNING] Unable to get resource from repository http___people.apache.org_repo_m 2-snapshot-repository (http://people.apache.org/repo/m2-snapshot-repository) [WARNING] Unable to get resource from repository http___people.apache.org_repo_m 2-incubating-repository_ (http://people.apache.org/repo/m2-incubating-repository /) [WARNING] Unable to get resource from repository http___people.apache.org_repo_m 1-snapshot-repository_ (http://people.apache.org/repo/m1-snapshot-repository/) org.apache.tuscany.runtime.webapp.ServletLauncherInitException: org.apache.tusca ny.spi.component.TargetException: Error initializing component instance [extende r] at org.apache.tuscany.runtime.webapp.WebappRuntimeImpl.initialize(Webapp RuntimeImpl.java:147) at org.apache.tuscany.runtime.webapp.TuscanyContextListener.contextIniti alized(TuscanyContextListener.java:74) at org.apache.catalina.core.StandardContext.listenerStart(StandardContex t.java:3763) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4 211) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase .java:759) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73 9) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:698 ) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472 ) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java :310) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl eSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442 ) at org.apache.catalina.core.StandardService.start(StandardService.java:4 50) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709 ) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) Caused by:
Re: DAS as a POJO service (POJService?)
On 11/9/06, Jim Marino [EMAIL PROTECTED] wrote: On Nov 8, 2006, at 10:23 PM, Venkata Krishnan wrote: Hi, From whatever little I understand I would imagine that the config. info is something that you will inject in as component properties. i.e. have a property in the DAS ComponentType to inject the source of this config info (could be a the config filename or a URL that you can open and read the config...). Instead of injecting a URL couldn't it just inject whatever config was required? This would save having an extra artifact separate from the SCDL which would make tooling a bit easier. Yes ideally, but I guess this config info is going to be quite big - so a whole lot of properties might be required. Maybe it would still be ok and its just that I am not yet used to seeing component defintions with lots of properties. :) If this SCA Service abstraction of DAS is complete, maybe we must actually think of projecting it distinctly outside the SCA DAS infratructures - as a component that is ready to use - i.e. can be pulled down and used in a service assembly. Makes sense? I'm not following. I thought this would be a component implementation type, like implementation.java. The configuration would be specified in the component SCDL entry: component implementation.das !-- optional in-line query -- /implementation.das property name=foobar/property /component The extension could be dynamically provisioned by the runtime but the application SCDL would contain the above. I did something similar for DataSources over the weekend in the persistence module. I guess this is something Amita and Luciano are going to put in place soon. Right now, what has been done is an SCA Application Service abstraction of DAS. Maybe Luciano should correct me if I have understood this all wrong. Jim - Venkat On 11/9/06, Luciano Resende [EMAIL PROTECTED] wrote: Thanks Kevin, some comments below... As for the naming :) I was just calling DAS exposed as an SCA service... On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The term DAS-POJO Service is probably confusing. What I meant is service implemented in Java that does not require a new component type. POJService? -- Kevin Kevin Williams wrote: I just committed the nice DAS - POJO service contribution from Luciano and have a few comments/discussion points: Here is the service API: /** * * @author lresende * */ public interface DASService { public void configureService(InputStream configStream) throws DASServiceException; public DataObject executeCommand(String commandName, Vector commandArguments) throws DASServiceException; public DataObject execute(String adHocQuery, Vector commandArguments) throws DASServiceException; public void applyChanges(DataObject graphRoot) throws DASServiceException; } We need to find a way to replace the configureService API with an SCA pattern for providing config information. Yes, this was THE thing I know we need to improve as mentioned on this thread : http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10421.html SCA guys, any suggestions about something already available in SCA ? Or maybe an Annotation ? Amita has solved this with the DAS-container contribution but I assume there is a pattern for POJO services too. We should avoid checked exceptions. Could you elaborate little bit more here ? Why exactly this ? Could the Vector argument list be replaced with a List? I think Apache discourages the use of the @author tag Sure, it was just a setting in my eclipse IDE, I'll create a patch removing that. As for the other things... I'll look into that and provide a patch with the changes... -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Today's webinar
Jim / Raymond it was really very well done. Thanks for all the efforts. - Venkat On 11/9/06, Luciano Resende [EMAIL PROTECTED] wrote: Thank you all, it was very good... Do we know the attendance numbers ? - Luciano On 11/8/06, haleh mahbod [EMAIL PROTECTED] wrote: Nicely done. Thank you. We should have a link to the re-run on the website soon. On 11/8/06, Jim Marino [EMAIL PROTECTED] wrote: I wanted to thank Raymond who was furiously answering questions while I blabbered on. Thanks Raymond! Jim On Nov 8, 2006, at 12:42 PM, Pete Robbins wrote: +1 I learnt stuff I should have known ;-) On 08/11/06, Kevin Williams [EMAIL PROTECTED] wrote: Jim, Nice job on the Webinar today! -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Pete - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DAS as a POJO service (POJService?)
Yes, Jim comments are more towards what's coming... What we have today (das/samples/das.service and das/samples/das.service.client) is more towards integration on the Application Layer as Venkata mentioned... And that's how I don't know how to get rid of the configureServices... More comments in line On 11/8/06, Venkata Krishnan [EMAIL PROTECTED] wrote: On 11/9/06, Jim Marino [EMAIL PROTECTED] wrote: On Nov 8, 2006, at 10:23 PM, Venkata Krishnan wrote: Hi, From whatever little I understand I would imagine that the config. info is something that you will inject in as component properties. i.e. have a property in the DAS ComponentType to inject the source of this config info (could be a the config filename or a URL that you can open and read the config...). Instead of injecting a URL couldn't it just inject whatever config was required? This would save having an extra artifact separate from the SCDL which would make tooling a bit easier. Yes ideally, but I guess this config info is going to be quite big - so a whole lot of properties might be required. Maybe it would still be ok and its just that I am not yet used to seeing component defintions with lots of properties. :) This shouldn't be that big, as we only need a pointer to the das config file. If this SCA Service abstraction of DAS is complete, maybe we must actually think of projecting it distinctly outside the SCA DAS infratructures - as a component that is ready to use - i.e. can be pulled down and used in a service assembly. Makes sense? I'm not following. I thought this would be a component implementation type, like implementation.java. The configuration would be specified in the component SCDL entry: component implementation.das !-- optional in-line query -- /implementation.das property name=foobar/property /component The extension could be dynamically provisioned by the runtime but the application SCDL would contain the above. I did something similar for DataSources over the weekend in the persistence module. I guess this is something Amita and Luciano are going to put in place soon. Right now, what has been done is an SCA Application Service abstraction of DAS. Maybe Luciano should correct me if I have understood this all wrong. Right...this is comming, we had a IRC Chat today to see how we can get it asap :) Jim - Venkat On 11/9/06, Luciano Resende [EMAIL PROTECTED] wrote: Thanks Kevin, some comments below... As for the naming :) I was just calling DAS exposed as an SCA service... On 11/8/06, Kevin Williams [EMAIL PROTECTED] wrote: The term DAS-POJO Service is probably confusing. What I meant is service implemented in Java that does not require a new component type. POJService? -- Kevin Kevin Williams wrote: I just committed the nice DAS - POJO service contribution from Luciano and have a few comments/discussion points: Here is the service API: /** * * @author lresende * */ public interface DASService { public void configureService(InputStream configStream) throws DASServiceException; public DataObject executeCommand(String commandName, Vector commandArguments) throws DASServiceException; public DataObject execute(String adHocQuery, Vector commandArguments) throws DASServiceException; public void applyChanges(DataObject graphRoot) throws DASServiceException; } We need to find a way to replace the configureService API with an SCA pattern for providing config information. Yes, this was THE thing I know we need to improve as mentioned on this thread : http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10421.html SCA guys, any suggestions about something already available in SCA ? Or maybe an Annotation ? Amita has solved this with the DAS-container contribution but I assume there is a pattern for POJO services too. We should avoid checked exceptions. Could you elaborate little bit more here ? Why exactly this ? Could the Vector argument list be replaced with a List? I think Apache discourages the use of the @author tag Sure, it was just a setting in my eclipse IDE, I'll create a patch removing that. As for the other things... I'll look into that and provide a patch with the changes... -- Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tuscany Website Updates
I prefer: - the new website's tab-less look. If the menu on the left gets too cluttered, the SCA, SDO, etc. sections could be made collapsible/expandable. - the current (live) site's color combo Also, on both sites, the instructions for building Tuscany, running samples, and Eclipse usage appear in multiple places, with some differences: http://people.apache.org/~rfeng/tuscany/site-publish/java-projects.html http://people.apache.org/~rfeng/tuscany/site-publish/building_source.html http://people.apache.org/~rfeng/tuscany/site-publish/java_sdo_overview.html http://wiki.apache.org/ws/Tuscany/TuscanyJava/SDO_Java_Overview On 11/8/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi, I have been checking the new website that is published at this link http://people.apache.org/~rfeng/tuscany/site-publish/ on several different occasions to see if I can adapt to the new coloring. I think our current site color combo (http://incubator.apache.org/tuscany/) is much more inviting and easier on the eyes. what does everyone else think? I am copying tuscany users on this mail to get your input. The prototype at http://people.apache.org/~rfeng/tuscany/site-publish/ has changed the layout of the website and got rid of the tabs. Is this easier to follow? Your feedback to make the site more user friendly is important to us. Thank you for taking the time to give feedback. Haleh On 11/6/06, haleh mahbod [EMAIL PROTECTED] wrote: Venkat, Thanks for the website work. It looks better and is easier to navigate through. Minor comments - We already mention that Tuscany is under Apache License 2.0 in the overview. It does not seem necessary to have an entry called license and ASF under General section. - Down load page should contain an entry that describes content of each release. For example, what is in SCA Java M1. - Can FAQ be a link to Wiki? It would be easier to update by anyone. - How to Add info about SCA extensions? 1. Add Extension entry to SCA navigation tab on the left after SCA C++. 2. Create a top level navigation for 'SCA lang extensions' just like what we have for SCA, SDO, DAS. It could contain overview, documentation, download (maybe) entries. The challenge will then be how to separate extensions provided on top of C++ or Java runtimes. Option 2 seems easier to navigate through. On 11/6/06, Luciano Resende [EMAIL PROTECTED] wrote: You should be able to run build.bat and get the site-publish created. Also, rfeng had posted a snapshot of the site during today's IRC chat, and it's available at : http://people.apache.org/~rfeng/tuscany/site-publish/ PS.: I think I like the greenish version better then the new colors... - Luciano Resende On 11/6/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi Venkat, There is no site-publish directory in this zip file. How do I look at the content? Haleh On 11/6/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, I have put in a new zip file - tuscany_site_Nov_6.zip http://issues.apache.org/jira/secure/attachment/12344405/tuscany_site_Nov_6.zip in the JIRA ( http://issues.apache.org/jira/browse/TUSCANY-703) containing the updates to the look and feel. I have linked up all (hopefully) the content that exists today. If people find this agreeable I can commit this and we can start pushing in contents into various areas from now on. Raymond, could you please over write your last post on people.apache.orgwith the contents of this zip file. Thanks - Venkat On 11/4/06, haleh mahbod [EMAIL PROTECTED] wrote: Hi, Information presented on the website needs to be progressive. This means that we expose critical/interesting information as top level information and allow the reader to learn more as they advance. I agree that it is interesting for users and developers to know about SCA's flexibility to extend beyond Java and C++ at the first glance. This is something we'd want to promote as a top level piece of information on the website. On the other hand, information about bindings seem to be implementation details that are not critical as a top level information. User will reach to this information when he/she drills down for more information. Haleh On 11/3/06, Venkata Krishnan [EMAIL PROTECTED] wrote: Hi, Please find my comments inline. Thanks - Venkat On 11/3/06, Andrew Borley [EMAIL PROTECTED] wrote: For SCA, I'd like to see a little more emphasis on the things we support in our releases - Tuscany SCA does more than just C++ or Java, and the fact that we implement in these 2 languages doesn't really need to be quite so highlighted on the site (IMO). If we have more than just
Re: Adding 2 webapp jars to binary distro
On Nov 8, 2006, at 8:40 AM, Simon Nash wrote: Jim, See my comments inline. Simon It seems that if you go down this route you will wind up re- inventing Maven. Maven seems simple enough to me. I had not intended to reinvent maven. Not yet, but you will (see below) ;-) I was thinking more in terms of something that enables ant scripts to find dependencies in maven repos and package these in the embedded repo within the war file. I'm looking at various options for how best to do this in a way that is most convenient from the perspective of ant users. In order for this to work, you are going to need to handle transitive dependencies in all but the simplest use case. Namely an application that cannot receive or make remote invocations. I don't see any way around this. For example, all of the web services binding extensions and container extensions have dependencies. Bundling the two jar files mentioned previously will only allow someone to create a web application that invokes a local service from a servlet or JSP. No services exposed over remote bindings. No references with remote bindings. That type of application doesn't strike me as very compelling for Tuscany. In fact, I would tell people not to use Tuscany for this and to use something more appropriate such as PicoContainer. If someone was doing this to understand how to write Java services, I would tell them to use the standalone client since deploying to a web container for this sort of thing is superfluous. What benefit would they gain except the rigamarole of having to create a war (or an exploded directory) and wait for a server whose capabilities they are not using to restart for every change they make? Running the kernel inside an IDE takes milliseconds and does not require a deployment. What I would recommend doing to help Ant users is to create a utility that can be invoked from an Ant Task, programmatically, or from the command line which downloads transitive dependencies from a Maven repository. As an implementation strategy, the first place I would look at is just wrapping Maven (or Wagon, the part that actually does the downloading). I would also keep in mind that reusing Maven will avoid the trouble of having to write code that parses and understands Maven POMs. I would also look to see what can be shared with the Maven War plugin we currently have to avoid duplicated effort and code. There is a further issue that statically cramming things into the distribution is not going to solve. Namely, moving forward, these jars are not going to be the only things required to run in a web app in many of the common usage scenarios. For example, there will also be pure-Tuscany things like a JNDI-based implementation of ResourceHost to support the @Resource tag and service discovery. In addition, people may want to use other optional extensions such as Celtix instead of Axis or JAXB instead of SDO. The best way to solve this other than using Maven (and potentially embedding it as part of the distribution) is to use the artifact repository at runtime or, as you mentioned, a custom Ant task that replicated its functionality at deployment time (it could even embed Maven :-) ). The Ant task would download the jars and place them in the Ant project folder as determined by the user. I am not debating the extensions issue. We need a robust and convenient way for ant users (and users of other build tools) to obtain optional Tuscany extensions that aren't included in the tuscany-sca binary distro. I'm only focusing on the small set of binary artifacts that are basic components of Tuscany and aren't packaged as Tuscany extensions. I don't really see any distinction between these artifacts and the contrib Tuscany extensions that we are including in the M2 distro. In both cases, these could be downloaded separately, but bundling them into a downloadable distribution is a valuable convenience to users. What capabilities would this distribution have (please see my comments above)? I think not much. What would be a less than ideal solution is to adopt the kitchen sink approach. Even if today it is two jars, this will quickly break down as the complexity of the runtime configuration increases. Putting this in as a temporary stopgap also does not seem like a good move given the issues it presents moving forward and the fact that we would have to remove it in the next release. Agreed that we don't want to do something now that we would reverse later. I don't see why this would be necessary. Even if we had a very sophisticated remote loading approach, there would still be a few basic things that it would make sense to find locally. I just don't get this. If I have to remotely download extensions anyway, why would we complicate things by cramming web app-related libraries into a standalone distribution? Perhaps a custom
Re: Adding 2 webapp jars to binary distro
On Nov 8, 2006, at 8:38 AM, Simon Nash wrote: Raymond Feng wrote: 1) It seems that you're looking for a collection of tuscany runtime/extension jars which provides you the artifacts to build the web application offline using ant or manually. I don't think it's appropriate to add them to the standalone distro though because it serves as the runtime for standalone applications instead of a traditional binary distro. I'm not sure why you are making a strong distinction between these two uses. A traditional binary distro will have a bin directory containing a command to launch its runtime and possibly other commands as well. Supporting dependencies that are needed to provide core functionality are in a lib directory. For example, the binary distros for tomcat and ant follow this pattern. So if we were releasing a binary runtime distro for core Tuscany functionality (i.e., functionality that is not part of some extension), I think its contents would be quite similar to what we have today in the standalone distro. There is nothing core about the web app launcher. Many deployments of Tuscany will not be to Servlet containers. Jim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DAS as a POJO service (POJService?)
Yes ideally, but I guess this config info is going to be quite big - so a whole lot of properties might be required. Maybe it would still be ok and its just that I am not yet used to seeing component defintions with lots of properties. :) Why are there so many properties? Maybe some can be automated or consolidated into a composite-wide configuration. Also, having multiple config artifacts for single components makes things difficult to track and tool. Jim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DAS as a POJO service (POJService?)
On Nov 8, 2006, at 10:58 PM, Luciano Resende wrote: Yes, Jim comments are more towards what's coming... What we have today (das/samples/das.service and das/samples/das.service.client) is more towards integration on the Application Layer as Venkata mentioned... And that's how I don't know how to get rid of the configureServices... Can you point me to what configureServices are? Thanks, Jim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DAS as a POJO service (POJService?)
You could find it here : https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/das.service/src/main/java/org/apache/tuscany/samples/das/service/DASServiceImpl.java DAS could use a external file as a configuration file, where commands can be defined externally (e.g. SQL Queries). This is optional, and calling configureService would tell the SCA service to use a specific config file. The config file is used on the DAS factory. this.das = DAS.FACTORY.createDAS(config); A config file would look like : https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/das.service.client/src/main/resources/CompanyConfig.xml - Luciano On 11/8/06, Jim Marino [EMAIL PROTECTED] wrote: On Nov 8, 2006, at 10:58 PM, Luciano Resende wrote: Yes, Jim comments are more towards what's coming... What we have today (das/samples/das.service and das/samples/das.service.client) is more towards integration on the Application Layer as Venkata mentioned... And that's how I don't know how to get rid of the configureServices... Can you point me to what configureServices are? Thanks, Jim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]