openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rodric Rabbah <rod...@gmail.com>
Subject Re: Are Java actions first class citizens?
Date Wed, 13 Sep 2017 13:53:13 GMT
It will be great to see PRs for examples, client SDK, and enhancements to
the Java actions!

on examples: it is true that there is a disproportionate amount of node
examples compared to the other runtimes. I think it's a reflection of where
the majority of users are. As the Java interest grows, I would expect more
contributions and examples in this space.

on client API: the initial demand was in node, and that's really the only
client that exists (npm openwhisk). A second partial client for Swift
(which nearly half of its features contributed by the community). There is
a potential python client, because historically the CLI was implemented in
python and hence all that code can be repurposed for a python sdk. Ideally
this happens organically as the community grows and requires these
capabilities.

on fully qualified names: some history maybe you've seen:
https://github.com/apache/incubator-openwhisk/issues/1018
https://github.com/apache/incubator-openwhisk/issues/47

I can help with testing the change for fully qualifying the main method
name. It would follow a pattern like this one for Swift.
https://github.com/apache/incubator-openwhisk/blob/master/tests/src/test/scala/actionContainers/Swift3ActionContainerTests.scala#L152-L166

Reach out on slack if I can be of service.

-r


On Mon, Sep 11, 2017 at 4:15 PM, Minto van der Sluis <minto@xup.nl> wrote:

> Hi,
>
> I have been scratching the surface of Openwhisk and I like it a lot. But
> since Java is the eco system (language + tooling) I am most comfortable
> with, I would like to create my actions in java. Luckily Openwhisk supports
> Java.
>
> Unfortunately diving a bit deeper somehow gives me the impression that
> Java is not really a first class citizen. Why do I get this impression?
> There are a number of reasons:
>
> 1) Examples
>
> I can hardly find any decent Java based examples beyond hello world. In
> particular how to invoke other actions from within a Java action.
>
> Seaching on Github with "Openwhisk java" results in only 4 projects :-(
> and one of them is mine (see 2)
>
> 2) Openwhisk java client API
>
> Searching for Openwhisk client libraries results in libraries for
> javascript, swift, go and python. Unfortunately none for java. There is
> however a feature request: https://github.com/apache/incu
> bator-openwhisk/issues/2466
>
> I had a little go at it myself. The API is mostly generated from the
> swagger file. Unfortunately the Swagger code generator generates unusable
> code for one the most important data structures, KeyValue.
>
> My Openwhisk Java API can be found at: https://github.com/misl/openwh
> isk-client-java
>
> Yes it desperately needs some additional documentation, but first I want
> to fix the KeyValue issue. And example of using the library from outside
> openwhisk can be found in the code at: https://github.com/misl/openwh
> isk-client-java/blob/master/openwhisk-api-client-retrofit/
> src/test/java/SimpleTest.java
>
> 3) Fully qualified method name does not work for Java action handlers
> (see: wsk action create --main)
>
> For this I already created an issue: https://github.com/apache/incu
> bator-openwhisk/issues/2590
>
> I even tried solving this one myself, have a look at my fork at:
> https://github.com/misl/incubator-openwhisk
>
> Fixing the issue was easy, but testing it seems to be much more complex.
> Maybe I need a little help here to be able to complete this one.
>
>
> All this gives me the impression that the focus for Openwhisk is on a lot
> of languages but not on Java. Or am I totally wrong here?
>
> Please share your thoughts.
>
> Kind regards,
>
> misl
>
> PS 1: For the interested I might have another project worth taking a look
> at. Openwhisk Package and Action annotations -
> https://github.com/misl/xup-openwhisk-annotations . It includes a script
> to quickly upload the generated Jar file. This one is also still needs
> documentation, but to see how it works have a look at the examples.
>
> PS 2: Oh by the way, If any of these projects are of interest, I am
> willing to donate.
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message