For the initial cut this looks good, please go ahead with the proposal. Let's check some other alternatives and start the development.
Regards Suho On Sat, Mar 18, 2017 at 1:01 PM, Madhawa Vidanapathirana < madhawavidanapathir...@gmail.com> wrote: > Hi Suho, > > You can find the python version of test case written using Pyjnius in > below link. > https://github.com/madhawav/CEP-Python-Wraps/tree/master/ > Pyjnius%20Prototype%20Wrap > Instructions on building the code is also given their. > > During development, I noticed following disadvantages of Pyjnius API > > - Not compatible with Python 3.x. > - There are no stable releases. However, the code available in master > branch is relatively stable. > - Difficult to configure. It is required to develop the library from > source. This would make it difficult to distribute an API developed on > Pyjnius. > - There are no evidence that a proper release would be done soon. > > However, Pyjnius supports callback of events from Java to Python. > Additionally, it is easier to develop using Pyjnius ones it is configured. > > So, I had a looked at some of the other options as well. > > Java Bridge > > *Advantages* > > - Has stable releases available through Python Package Index. (pip) > > *Disadvantages* > > - No direct call-back mechanism to receive events from Java side. It > is possible to execute Python scripts in Java but those scripts would not > be in same context as Python Host App. > - Comparatively harder to develop on but it is manageable. > > Py4J > > The main difference in Py4J is that it uses socket connections to > communicate with JVM instead of JNI. (secured socket connections are > possible). > > *Advantages* > > - Stable release available through Python Package Index (pip). Easy to > configure. > - Can connect to an already running Java application (with Py4J) and > communicate with it. (Thus, can be used to communicate with a running > instance of WSO2 CEP) > - Supports callback events. > - Well maintained documentation. Active project. > > *Disadvantages* > > - Would require a work-around to avoid clashing between socket > connection ports when concurrent applications use the API. > > As of now, I feel Py4J is the most suitable option. However, I am yet to > look at some other options available such as JPy and JCC. > > Regards, > > Madhawa > > On Wed, Mar 15, 2017 at 11:10 PM, Sriskandarajah Suhothayan <s...@wso2.com > > wrote: > >> Great, do also start working on writing the project proposal. >> >> Regards >> Suho >> >> On Wed, Mar 15, 2017 at 10:58 PM, Madhawa Vidanapathirana < >> madhawavidanapathir...@gmail.com> wrote: >> >>> Hi Suho, >>> Progress made so far is managed to write a python version of test case >>> you suggested using Pyjnius [1] [2]. >>> Pyjnius is capable of handling method calls and callbacks to/from JAVA >>> via JNI. >>> >>> I will send the code here after I properly arrange it into a prototype >>> API. >>> >>> [1] - https://pyjnius.readthedocs.io/en/latest/index.html >>> [2] - https://github.com/kivy/pyjnius/blob/master/docs/source/index.rst >>> >>> Regards, >>> Madhawa >>> >>> On Wed, Mar 15, 2017 at 1:11 AM, Sriskandarajah Suhothayan < >>> s...@wso2.com> wrote: >>> >>>> As the first step focus on building APIs such that we can write the >>>> following test case[1] in python. >>>> >>>> [1]https://github.com/wso2/siddhi/blob/master/modules/siddhi >>>> -samples/quick-start-samples/src/main/java/org/wso2/siddhi/s >>>> ample/SimpleFilterSample.java >>>> >>>> Regards >>>> Suho >>>> >>>> On Tue, Mar 14, 2017 at 9:55 AM, Madhawa Vidanapathirana < >>>> madhawavidanapathir...@gmail.com> wrote: >>>> >>>>> Hi, >>>>> Thank you for your quick reply. >>>>> >>>>> Since directly using Siddhi Library is the more general case, I'll >>>>> first focus on it. >>>>> >>>>> 1) I am thinking about following the same structure in JAVA API, >>>>> centered around Siddhi Manager. Any opinions on this? >>>>> 2) Any idea on extent to which lower level/internal components should >>>>> be exposed? (e.g. - Exposing "StreamDefinition" class in addition to >>>>> creating stream via Siddhi query using >>>>> "siddhiManager.createExecutionPlanRuntime"). >>>>> I have heard that it is usually discouraged to use lower level components >>>>> instead of the query approach. >>>>> >>>>> Will try to send you a prototype covering basic functionality through >>>>> Siddhi Java API, before making the proposal for entire project. >>>>> >>>>> Madhawa >>>>> >>>>> On Mon, Mar 13, 2017 at 9:53 PM, Sriskandarajah Suhothayan < >>>>> s...@wso2.com> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Sun, Mar 12, 2017 at 12:37 PM, Madhawa Vidanapathirana < >>>>>> madhawavidanapathir...@gmail.com> wrote: >>>>>> >>>>>>> Hi. >>>>>>> >>>>>>> I am an undergraduate from Department of Computer Science and >>>>>>> Engineering, University of Moratuwa. I recently completed my internship >>>>>>> at >>>>>>> WSO2 working with the Support Team on the project WSO2 Support Knowledge >>>>>>> Base. >>>>>>> >>>>>>> I am interested on GSOC Project* "Proposal 16: Python API for >>>>>>> Siddhi CEP"*. My internship project at WSO2 was almost entirely >>>>>>> done using Python. Additionally, I used Py4J Framework to interface >>>>>>> certain >>>>>>> parts of the project to JAVA APIs. Furthermore, I have a certain amount >>>>>>> of >>>>>>> exposure with Siddhi/CEP through the WHACK project I took part. >>>>>>> >>>>>>> I went through the provided details in WSO2 GSOC 2017 Project List >>>>>>> page and I am interested to know some more details. >>>>>>> >>>>>>> 1. What version of CEP/Siddhi should be used by the API? >>>>>>> >>>>>>> You need to support the latest released version of Siddhi and DAS >>>>>> which is in DAS 3.1 and also for the latest Siddhi (4.0) >>>>>> >>>>>>> >>>>>>> 1. In the description, does "Service APIs" refer to "Admin >>>>>>> Services API" which is usually used by Admin Panel to communicate >>>>>>> with CEP? >>>>>>> >>>>>>> Yes, to deploy the queries and to send and receive events >>>>>> >>>>>>> >>>>>>> 1. Should the Siddhi Python API require WSO2 CEP to be running >>>>>>> in order to make Python API usable? >>>>>>> >>>>>>> Not necessay it should both work with the running CEP/DAS and use >>>>>> Siddhi library in the ohter cases. >>>>>> >>>>>>> >>>>>>> 1. Is the Python API expected to do configuring of Siddhi CEP, >>>>>>> streaming events to/from Siddhi CEP, or both? >>>>>>> >>>>>>> Yes in terms of queries. >>>>>> >>>>>> >>>>>> >>>>>>> Thank You >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Madhawa Vidanapathirana* >>>>>>> Student >>>>>>> Department of Computer Science and Engineering >>>>>>> University of Moratuwa >>>>>>> Sri Lanka >>>>>>> >>>>>>> Mobile: (+94) 716874425 <071%20687%204425> >>>>>>> Email: madhawavidanapathir...@gmail.com >>>>>>> Linked-In: https://lk.linkedin.com/in/madhawa-vidanapathiran >>>>>>> a-3430b94 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> *S. Suhothayan* >>>>>> Associate Director / Architect & Team Lead of WSO2 Complex Event >>>>>> Processor >>>>>> *WSO2 Inc. *http://wso2.com >>>>>> * <http://wso2.com/>* >>>>>> lean . enterprise . middleware >>>>>> >>>>>> >>>>>> *cell: (+94) 779 756 757 <+94%2077%20975%206757> | blog: >>>>>> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: >>>>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | >>>>>> linked-in: >>>>>> http://lk.linkedin.com/in/suhothayan >>>>>> <http://lk.linkedin.com/in/suhothayan>* >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Madhawa Vidanapathirana* >>>>> Student >>>>> Department of Computer Science and Engineering >>>>> University of Moratuwa >>>>> Sri Lanka >>>>> >>>>> Mobile: (+94) 716874425 <071%20687%204425> >>>>> Email: madhawavidanapathir...@gmail.com >>>>> Linked-In: https://lk.linkedin.com/in/madhawa-vidanapathirana-3430b94 >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> *S. Suhothayan* >>>> Associate Director / Architect & Team Lead of WSO2 Complex Event >>>> Processor >>>> *WSO2 Inc. *http://wso2.com >>>> * <http://wso2.com/>* >>>> lean . enterprise . middleware >>>> >>>> >>>> *cell: (+94) 779 756 757 <+94%2077%20975%206757> | blog: >>>> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: >>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: >>>> http://lk.linkedin.com/in/suhothayan >>>> <http://lk.linkedin.com/in/suhothayan>* >>>> >>> >>> >>> >>> -- >>> *Madhawa Vidanapathirana* >>> Student >>> Department of Computer Science and Engineering >>> University of Moratuwa >>> Sri Lanka >>> >>> Mobile: (+94) 716874425 <071%20687%204425> >>> Email: madhawavidanapathir...@gmail.com >>> Linked-In: https://lk.linkedin.com/in/madhawa-vidanapathirana-3430b94 >>> >> >> >> >> -- >> >> *S. Suhothayan* >> Associate Director / Architect & Team Lead of WSO2 Complex Event >> Processor >> *WSO2 Inc. *http://wso2.com >> * <http://wso2.com/>* >> lean . enterprise . middleware >> >> >> *cell: (+94) 779 756 757 <+94%2077%20975%206757> | blog: >> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: >> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: >> http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>* >> > > > > -- > *Madhawa Vidanapathirana* > Student > Department of Computer Science and Engineering > University of Moratuwa > Sri Lanka > > Mobile: (+94) 716874425 <071%20687%204425> > Email: madhawavidanapathir...@gmail.com > Linked-In: https://lk.linkedin.com/in/madhawa-vidanapathirana-3430b94 > -- *S. Suhothayan* Associate Director / Architect & Team Lead of WSO2 Complex Event Processor *WSO2 Inc. *http://wso2.com * <http://wso2.com/>* lean . enterprise . middleware *cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev