On 8 March 2014 07:48, GESCONSULTOR <[email protected]> wrote: > Hi Eshan. > > In the sense of showing how to use Camel from Isis to send, for example, > emails asynchronously, in addition to a more "traditional" service to send > emails directly from the Isis process through Java mail API, etc. >
We actually have quite a lot of this done already. There's a project of mine up on github [6] that picks up published actions for Camel to process. The bit that's missing is (a) translating these events to an email format, and (b) then sending to a Java mail service. It's not quite clear to me where the responsibility for (a) should be, however. Feels like it would need some sort of EmailTemplate entity; so it could probably be done by a custom payload factory (also already supported by the publishing service). ~~~ An alternative architecture, and with many fewer moving parts, would simply to use the Quartz scheduler to poll for emails to be sent. The current todo app (about to be released in the 1.4.0 archetype assuming the vote goes through) has the Quartz scheduler pre-configured. > > There are plenty of integration use cases where Camel could be used. > Another one would be for Drools (that can be embedded or executed over a > stand-alone Camel server) [1]. > > Camel can be simply embedded on the project or executed over Apache > ServiceMix [2 ] or JBoss Fuse [3 ] through remote invocation [4]. At least > for one service I find it would be really interesting to use it both > embedded or remotely invoked through Endpoints. > > Lots of interesting architectures here, but the project needs to have a concrete objective (eg sending emails rendered against a template) otherwise there's not enough focus. We should probably enumerate them. a. simply send the email synchronously in the action. This requires a simple domain service to make the JavaMail call b. queue up the email to be sent and picked up by Camel. Camel runs in a separate webapp; this is how [6] works c. a combination of a and b; the email is sent synchronously, but the domain service embeds Camel to do the processing. d. same as b, but Camel running within the same webapp as Isis rather than a separate webapp e. send the email to a service, but it queues up the message. Then use Quartz scheduler to execute a job to actually send asynchronously. f. send an email via the new background service [7] (that uses the Quartz scheduler under the covers). Given so many options here, my view is that for the requirement to simply send email, Camel is too heavyweight (even in embedded mode)... I'd opt for either (a) or (f). So for a Camel integration we probably need to think of a better use case to support. I guess I'm interested in the project delivering stuff that's useful for the community to use (reusable services or modules). Dan > Dan had an example about integrating with a Message Queue platform here > [5]. > > This is just in case you finally have enough time. > > > HTH, > > Oscar > > [ 1] > http://salaboy.com/2011/04/05/drools-in-real-life-droolsjbpm5-server-first-steps/ > [2] http://servicemix.apache.org > [3] http://www.jboss.org/jbossfuse > [4 ] https://camel.apache.org/architecture.html > [5] http://isis.apache.org/reference/services/publishing-service.html > > [6] https://github.com/danhaywood/camel-isis-pubsubjdo [7] http://isis.apache.org/reference/services/background-service.html > > El 08/03/2014, a las 04:07, Eshan Sudharaka <[email protected]> > escribió: > > > > Hi Oscar, > > Thanks for your ideas on this. What do you mean by general integration.? > > Is it exposing those existing services and new services through apache > camel? > > > > Thanks > > > >> On 6 Mar, 2014 7:35 PM, "GESCONSULTOR - Óscar Bou" < > [email protected]> wrote: > >> > >> Hi to all. > >> > >> There can be more general-purpose integrations if we generalize some > implementation over Apache Camel [1] components [2]. > >> > >> Also, another really useful (and cool ;-) platforms for automation > would be: > >> - Twilio [3] (for voice calls, SMS messaging, etc.). > >> - Zapier [4] (automates more than 250 apps). > >> - ITTT [5] (similar to Zapier). > >> > >> I'm sure there are plenty of scenarios that could benefit the most > "traditional" applications (for example, by integrating with Evernote, > etc.). > >> > >> [1] https://camel.apache.org > >> [2] https://camel.apache.org/components.html > >> [3] https://www.twilio.com > >> [4] https://zapier.com > >> [5] http://ittt.com > >> > >> > >> > >>> El 06/03/2014, a las 09:09, Dan Haywood <[email protected]> > escribió: > >>> > >>> I'm cc'ing users@ on this, since there might be folk there who would > chip > >>> in... > >>> > >>> > >>> > >>>> On 6 March 2014 00:16, Eshan Sudharaka <[email protected]> wrote: > >>>> > >>>> Hi Dan, > >>>> > >>>> I went through some documentation and got some very basic > understanding > >>>> about Apache ISIS. And I build that toDo app and try went through the > app > >>>> code. > >>>> > >>>> I am interested in developing following Project Idea. > >>>> > >>>> - to build some new off-the-shelf domain services, like the current > Excel > >>>> and Word mail merge ones > >>>> > >>>> - eg email > >>>> - eg SMSing > >>>> - eg Drools rules engine > >>>> > >>>> So the idea is to build a generic service which can be used across > the all > >>>> of apps developing using ISIS. can you please provide some further > details > >>>> on this. > >>>> > >>>> Is it similar to > >>>> http://isis.apache.org/reference/services/command-context.html ? > Providing > >>>> API for get above services. > >>> Yes, it's similar in concept. > >>> > >>> I think the closest existing services are actually the domain services > I > >>> have on my github repo for Word, Excel and String interpolation [1], > [2], > >>> [3]. > >>> > >>> I think it'd also be worthwhile providing some domain entities (mapped > to > >>> be persistent with JDO) to represent the domain concepts, for example > an > >>> EmailTemplate or SmsMessageTemplate. This could become an all-purpose > >>> "communication channel" module for others to reuse. Note that Estatio > [4] > >>> already provides a Links repo/Link entity that leverages [3]. > >>> > >>> The JDO implementation of the CommandService and BackgroundService > [4],[5] > >>> (as used by the command-context service that you referenced) has > support > >>> for this with the CommandJdo entity. Similarly the JDO impl of > >>> AuditingService provides an AuditEntryJdo entity [6], and the JDO impl > of > >>> PublishingService provides a PublishedEventJdo entity [7]. So there > are > >>> plenty of examples to work from. > >>> > >>> I have less things to say about the Drools rules engine, but I'm sure > it'd > >>> be useful. Oscar's project has done some sort of integration, so > perhaps > >>> there are ideas there that could be generalised. Oscar? > >>> > >>> My only concern about this project is whether it is large enough in > scope > >>> to fill up an entire summer. I wrote the string interpolation service > [3] > >>> in an evening, for example, and the Links/Link service in Estatio only > took > >>> a couple more hours. But maybe an all-purpose comms channel module > plus > >>> a rules engine service (with additional entities to administer the > rules > >>> themselves) might be big enough. > >>> > >>> HTH > >>> Dan > >>> > >>> > >>> [1] https://github.com/danhaywood/isis-domainservice-docx > >>> [2] https://github.com/danhaywood/isis-domainservice-excel > >>> [3] > https://github.com/danhaywood/isis-domainservice-stringinterpolator > >>> [4] https://github.com/estatio/estatio > >>> [5] > >>> > http://isis.apache.org/components/objectstores/jdo/services/command-service-jdo.html > >>> [6] > >>> > http://isis.apache.org/components/objectstores/jdo/services/background-command-service-jdo.html > >>> [7] > >>> > http://isis.apache.org/components/objectstores/jdo/services/auditing-service-jdo.html > >>> [8] > >>> > http://isis.apache.org/components/objectstores/jdo/services/publishing-service-jdo.html > >>> > >>> > >>> > >>>> Thanks > >>>> > >>>> > >>>> On Fri, Feb 28, 2014 at 3:42 PM, Dan Haywood > >>>> <[email protected]>wrote: > >>>> > >>>>> Hi Eshan, > >>>>> > >>>>> Thanks for your interest in GSOC and in Isis itself, of course. > >>>>> > >>>>> We had two students last year, and I mentored them (with Maurizio as > >>>>> co-mentor); they both built a viewer against the Restful Objects > >>>> interface > >>>>> [1], [2]. > >>>>> > >>>>> I must admit though that I had intended to skip mentoring a GSOC > project > >>>>> this year, and I don't think any of the other committers are > interested > >>>>> (speak up if no!) > >>>>> > >>>>> That's not to say I don't have several ideas for projects, for > example: > >>>>> > >>>>> - build a "real-life" app in some suitable domain, along with a > >>>>> semi-academic write-up of their learnings > >>>>> - to would give us another substantial example app, along with some > >>>>> marketing material about how learnable Isis > >>>>> > >>>>> - documentation: develop screencasts for all the various features > that we > >>>>> have > >>>>> - cos people would rather watch youtube than read > >>>>> > >>>>> - to build some new off-the-shelf domain services, like the current > Excel > >>>>> and Word mail merge ones > >>>>> - eg email > >>>>> - eg SMSing > >>>>> - eg Drools rules engine > >>>>> > >>>>> - to develop an integration with Lucene, for full text-search across > the > >>>>> domain > >>>>> - I don't think this is a full summer's work though > >>>>> > >>>>> - to develop an oAuth integration > >>>>> - probably not a full summer's work though (even though I'm not > exactly > >>>>> sure what an oAuth integration actually is) > >>>>> > >>>>> - to write a clean-room implementation of a JDO enhancer, as a > >>>> replacement > >>>>> for the DN one, and that ideally integrates with the JRebel plugin > >>>>> - not really Isis-specific, but would definitely benefit the Isis > >>>>> community > >>>>> > >>>>> - implement "Kemble", our proposed DSL for Isis, using XTend [3] > >>>>> > >>>>> > >>>>> So do say if any of the above strike you as interesting. HOWEVER, > since > >>>>> I'm less that 50:50 about being a mentor this year, I'd need to see > some > >>>>> real commitment during the "getting to know you" phase of the > programme > >>>>> before I decide to take it on. > >>>>> > >>>>> HTH > >>>>> Dan > >>>>> > >>>>> > >>>>> [1] https://github.com/DImuthuUpe/ISIS_Android_Viewer > >>>>> [2] https://github.com/bhargavgolla/isisJavaScript/ > >>>>> [3] https://issues.apache.org/jira/browse/ISIS-369 > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>> On 28 February 2014 05:18, Eshan Sudharaka <[email protected]> > wrote: > >>>>>> > >>>>>> Dear Members, > >>>>>> > >>>>>> I am a university student studying computer science at University > of > >>>>>> Colombo School of Computing, Sri Lanka > >>>>>> <http://ucsc.cmb.ac.lk/>.<http://www.cse.mrt.ac.lk/> I > >>>>>> am interested in submitting a proposal for Google Summer Of Code > >>>> 2014. I > >>>>>> am from a Java background and having few experiences of frameworks > like > >>>>>> Spring, Hibernate, Struts. It will be really nice If you can provide > >>>> some > >>>>>> guidance on this. (Like how to contribute and existing CR 's to be > >>>>>> implemented ) > >>>>>> -- > >>>>>> *~Thanks & Regards~* > >>>>>> > >>>>>> Eshan Sudharaka > >>>>>> http://esudharaka.blogspot.com/ > >>>> > >>>> > >>>> > >>>> -- > >>>> *~Thanks & Regards~* > >>>> > >>>> Eshan Sudharaka > >>>> http://esudharaka.blogspot.com/ > >> > >> > >> Óscar Bou Bou > >> Responsable de Producto > >> Auditor Jefe de Certificación ISO 27001 en BSI > >> CISA, CRISC, APMG ISO 20000, ITIL-F > >> > >> 902 900 231 / 620 267 520 > >> http://www.twitter.com/oscarbou > >> > >> http://es.linkedin.com/in/oscarbou > >> > >> http://www.GesConsultor.com > >> > >> > >> > >> > >> Este mensaje y los ficheros anexos son confidenciales. Los mismos > contienen información reservada que no puede ser difundida. Si usted ha > recibido este correo por error, tenga la amabilidad de eliminarlo de su > sistema y avisar al remitente mediante reenvío a su dirección electrónica; > no deberá copiar el mensaje ni divulgar su contenido a ninguna persona. > >> Su dirección de correo electrónico junto a sus datos personales constan > en un fichero titularidad de Gesdatos Software, S.L. cuya finalidad es la > de mantener el contacto con Ud. Si quiere saber de qué información > disponemos de Ud., modificarla, y en su caso, cancelarla, puede hacerlo > enviando un escrito al efecto, acompañado de una fotocopia de su D.N.I. a > la siguiente dirección: Gesdatos Software, S.L. , Paseo de la Castellana, > 153 bajo - 28046 (Madrid), y Avda. Cortes Valencianas num. 50, 1ºC - 46015 > (Valencia). Asimismo, es su responsabilidad comprobar que este mensaje o > sus archivos adjuntos no contengan virus informáticos, y en caso que los > tuvieran eliminarlos. >
