Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id F4178200B4F for ; Tue, 26 Jul 2016 18:14:10 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id F2A77160A75; Tue, 26 Jul 2016 16:14:10 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 1C615160A69 for ; Tue, 26 Jul 2016 18:14:09 +0200 (CEST) Received: (qmail 75475 invoked by uid 500); 26 Jul 2016 16:14:09 -0000 Mailing-List: contact dev-help@river.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@river.apache.org Delivered-To: mailing list dev@river.apache.org Received: (qmail 75464 invoked by uid 99); 26 Jul 2016 16:14:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jul 2016 16:14:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 846421A72A1 for ; Tue, 26 Jul 2016 16:14:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.554 X-Spam-Level: ** X-Spam-Status: No, score=2.554 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, MIME_QP_LONG_LINE=0.001, RCVD_IN_BL_SPAMCOP_NET=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, SPF_PASS=-0.001] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id rRQ1rMZXRPfv for ; Tue, 26 Jul 2016 16:14:05 +0000 (UTC) Received: from eastrmfepo203.cox.net (eastrmfepo203.cox.net [68.230.241.218]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTP id 732BD5F4E4 for ; Tue, 26 Jul 2016 16:14:04 +0000 (UTC) Received: from eastrmimpo305.cox.net ([68.230.241.237]) by eastrmfepo203.cox.net (InterMail vM.8.01.05.28 201-2260-151-171-20160122) with ESMTP id <20160726161358.WTHK29696.eastrmfepo203.cox.net@eastrmimpo305.cox.net> for ; Tue, 26 Jul 2016 12:13:58 -0400 Received: from [10.51.222.126] ([107.107.59.231]) by eastrmimpo305.cox.net with cox id PUDw1t00K4zLKjf01UDxR0; Tue, 26 Jul 2016 12:13:58 -0400 X-CT-Class: Clean X-CT-Score: 0.00 X-CT-RefID: str=0001.0A020202.57978C46.013E,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 X-CT-Spam: 0 X-Authority-Analysis: v=2.1 cv=PNWB+JaC c=1 sm=1 tr=0 a=yuc6GlhzxpGY/xKDkQACbQ==:117 a=yuc6GlhzxpGY/xKDkQACbQ==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=Iu2rDso9AAAA:8 a=COfzQ7OkAAAA:8 a=0LiwH3idAAAA:8 a=mV9VRH-2AAAA:8 a=yPCof4ZbAAAA:8 a=Z8pGC0xHwJSUMpHvrs0A:9 a=VHaxqJi9d_7GinQp:21 a=B_a6Nuqx3NAas6xk:21 a=QEXdDO2ut3YA:10 a=HCB_ZTjGAAAA:8 a=mK_AVkanAAAA:8 a=Rdsi5fvTKDk539M4jJkA:9 a=bxMAQxKxSyESvgL3:21 a=JUUQxY-1Ft0Q1z2x:21 a=0ZZnHF2x-5NgvC_u:21 a=_W_S_7VecoQA:10 a=qtx7bT-ak3nTm7NuRLH1:22 a=s_5acmNmT8OQC95tMvyY:22 a=edhxe2-G5WDNYRPnreUx:22 a=BYZmueQyWBbq8FANvIHb:22 a=2lfDSYhZ3Z6b8uxcDO-Z:22 a=CgnmdE_6zFEBOF45lgBK:22 a=3gWm3jAn84ENXaBijsEo:22 X-CM-Score: 0.00 Authentication-Results: cox.net; auth=pass (PLAIN) smtp.auth=gergg@cox.net Content-Type: multipart/alternative; boundary=Apple-Mail-1ED97673-2033-42FD-A572-87E92FEE421C Mime-Version: 1.0 (1.0) Subject: Re: another interesting link From: Gregg Wonderly X-Mailer: iPhone Mail (13G34) In-Reply-To: Date: Tue, 26 Jul 2016 12:13:56 -0400 Content-Transfer-Encoding: 7bit Message-Id: <15FBA0F4-E3BE-46E9-B549-CB74605725BC@cox.net> References: To: dev@river.apache.org archived-at: Tue, 26 Jul 2016 16:14:11 -0000 --Apple-Mail-1ED97673-2033-42FD-A572-87E92FEE421C Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Also maven has been used as part of this solution too. Maven lookup by pack= age instead of interface seems like adding another layer or a redirection in= lookup mechanisms. Gregg Sent from my iPhone > On Jul 26, 2016, at 8:41 AM, Micha=C5=82 K=C5=82eczek (XPro Sp. z o. o.) <= michal.kleczek@xpro.biz> wrote: >=20 > I am well aware of StartNow since that is the first Jini "support library"= I have used. Indeed - it is really easy to use. > But it is only one side of the issue - the API and some support support co= de that is supposed to be linked statically with the service implementation.= >=20 > What I am talking about is actually "externalizing" most aspects of a serv= ice implementation so that: > - you do not have to package any (for some meaning of "any" :) ) libraries= statically (since all code can be downloaded dynamically) > - you do not have to provide any (for some meaning of "any" :) ) static co= nfiguration (ie. configuration files) - a service should simply use other se= rvices and "reconfigure" itself when those change > It would go towards some kind of an "agent architecture", with movable obj= ects (ie "services") being "hosted" by well... other movable objects :). The= idea is less appealing today when we have all the cloud infrastructure, vir= tualization, software defined networking etc. Nevertheless still interesting= IMHO. >=20 > Thanks, > Michal >> Gregg Wonderly July 26, 2016 at 1:28 PM >> My StartNow project on Java.net aimed directly at this mode of operation a= decade ago. I wanted conventions that provided use of configuration with de= faults. >>=20 >> You just extend PersistantJiniService and call start(serviceName). Subcla= sses could override default implementation for how the conventions in the AP= Is created implementation objects through code or configuration. >>=20 >> The intent was to create THE API to provide the conventions of service cr= eation. >>=20 >> We have a Window/JWindow class and don't have to do all the decorating ou= rselves.=20 >>=20 >> Jini service construction should work the same way! >>=20 >> Gregg >>=20 >> Sent from my iPhone >>=20 >>=20 >> Tom Hobbs July 26, 2016 at 11:50 AM >> I would say the comment on that blog sums everything about Jini up. >>=20 >> It=E2=80=99s just too hard to set up and get working. >>=20 >> That=E2=80=99s why I think simplifying reggie is possibly a first step. M= ake a /small/ and simple reggie jar that just handled service registration a= nd not proxy downloading etc. Make it really easy to register your services w= ithout needing class loaders etc, preferably via some convention rather than= configuration. (This is what I=E2=80=99m trying to find the time to work on= .) >>=20 >> I=E2=80=99d really like to be able to type; >>=20 >> $ java -jar reggie.jar >>=20 >> And have a reggie running with all the defaults ready to register my serv= ices with. Or perhaps, as an option; >>=20 >> $ java -jar reggie.jar =E2=80=94ipv6 >>=20 >> Security, class loading, proxy downloading and all the rest of it could t= hen be put back in by specifying more advanced configuration options. >>=20 >> My Scala service would be great if I could define it just as; >>=20 >> object MyCoolService extends LazyLogging with ReggieRegistration with Reg= gieLookup >>=20 >> Or in Java with default interface methods; >>=20 >> class MyCoolService implements ReggieRegistration, ReggieLookup >>=20 >> And that would be it, congratulations you=E2=80=99ve started a reggie and= registered your service and have methods available to help you find other s= ervices. >>=20 >> This would satisfy use cases where the network was private and/or trusted= . And security on top would, ideally, be up to configuration again or perhap= s injecting some alternative implementation of some bean somewhere. But the c= ore premise is, make it easy to startup, demo and see if it fits what you wa= nt it for.=20 >>=20 >>=20 >>=20 >>=20 >> Peter July 26, 2016 at 3:58 AM >> Note the comment about security on the blog? >>=20 >> Steps I've taken to simplify security (that could also be adopted by rive= r): >> 1. Deprecate proxy trust, replace with authenticate service prior to obta= ining proxy. >> 2. proxy codebase jars contain a list of requested permissions to be gran= ted to the jar signer and url (client need not know in advance). >> 3. Policy file generation, least privilege principles (need to set up com= mand line based output for admin verification of each permission during poli= cy generation). >> 4 Input validation for serialization. >> 5. DownloadPermission automatically granted to authenticated registrars (= to signer and url, very specific) during multicast discovery. >>=20 >> Need to more work around simplification of certificate management. >>=20 >> Regards, >>=20 >> Peter. >> Sent from my Samsung device. >> =20 >> Include original message >> ---- Original message ---- >> From: Peter >> Sent: 26/07/2016 10:27:59 am >> To: dev@river.apache.org >> Subject: another interesting link >>=20 >> https://blogs.oracle.com/hinkmond/entry/jini_iot_edition_connecting_the >>=20 >>=20 >> Sent from my Samsung device. >=20 --Apple-Mail-1ED97673-2033-42FD-A572-87E92FEE421C--