Thumbs Up! Agree...

On Sun, Feb 5, 2017 at 1:33 AM, "Michał Kłeczek (XPro Sp. z o. o.)" <
michal.klec...@xpro.biz> wrote:

> I cannot disagree with rants about software industry state.
>
> Let's get back to technical solutions to non-technical problems. I am
> interested in providing tools - whether will be used... is a different
> story.
>
> That said...
> IMHO Jini - in all its greatness - DID NOT solve the problem of Java code
> mobility in any way.
> As has been discussed on this list several time the way how it "solved" it
> is:
> - inherently insecure (because object validation is done _after_ code
> execution)
> - is not capable of transferring complicated object graphs - hence it
> cannot be used in many different interesting scenarios.
>
> Partial solutions are worse than lack of solutions - they confuse users
> (in our case programmers) and in the end people loose interest.
>
> I am not a big fan of Java containers - be it JEE or any other (OSGI
> included)
> The industry seems to understand they are a dead end - escpecially in the
> age of Docker etc - and is moving away from them (not that in a very
> meaningful direction :) ).
>
> I have worked with OSGI for several years and it was a difficult
> relationship :)
> Today I prefer simpler solutions: "java -jar 
> my-very-complicated-and-important-service.jar"
> is the way to go.
>
> Thanks,
> Michal
>
>
>
> Niclas Hedhman wrote:
>
> (I think wrong thread, so to please Peter, I copied it all into here)
>
> Correct, it is not different. But you are missing the point; CONSTRAINTS.
> And without constraints, developers are capable of doing these good deeds
> (such as your example) and many very poor ones. The knife cuts your meat or
> butcher your neighbor... It is all about the constraints, something that
> few developers are willing to admit that makes our work better.
>
> As for the "leasable and you have..."; The problem is that you are probably
> wrong on that front too, like the OSGi community have learned the hard way.
> There are too many ways software entangle classloading. All kinds of shit
> "registers itself" in the bowels of the runtime, such as with the
> DriverManager, Loggers, URLHandlers or PermGenSpace (might be gone in Java
> 8). Then add 100s of common libraries that also does a poor job in
> releasing "permanent" resources/instances/classes... The stain sticks, but
> the smell is weak, so often we can't tell other than memory leak during
> class updates.
> And why do we have all this mess? IMHO; Lack of constraints, lack of
> lifecycle management in "everything Java" (and most languages) and lack of
> discipline (something Gregg has, and I plus 5 million other Java devs don't
> have). OSGi is not as successful as it "should" (SpringSource gave up)
> because it makes the "stain" stink really badly. OSGi introduces
> constraints and fails spectacular when we try to break or circumvent them.
>
> River as it currently stands has "solved" Java code mobility, Java leases,
> dynamic service registry with query capabilities and much more. But as with
> a lot of good technology, the masses don't buy it. The ignorant masses are
> now in Peter Deutsch's Fallacies of Distributed Computing territory,
> thinking that microservices on JAX-RS is going to save the day (it isn't, I
> am rescuing a project out of it now).
> Distributed OSGi tried to solve this problem, and AFAICT has serious
> problems to work reliably in production environments. What do I learn? This
> is hard, but every 5 years we double in numbers, so half the developer
> population is inexperienced and repeat the same mistakes again and again.
>
> Sorry for highlighting problems, mostly psychological/philosophical rather
> than technological. I don't have the answers, other than; Without
> Constraints Technology Fails. And the better the constraints are defined,
> the better likelihood that it can succeed.
>
>
>
>
> On Sat, Feb 4, 2017 at 8:59 PM, "Michał Kłeczek (XPro Sp. z o. o.)" 
> <michal.klec...@xpro.biz> wrote:
>
>
> Comments below.
>
> Niclas Hedhman wrote:
>
> see below
>
> On Sat, Feb 4, 2017 at 6:21 PM, "Michał Kłeczek (XPro Sp. z o. o.)" 
> <michal.klec...@xpro.biz> <michal.klec...@xpro.biz> wrote:
>
> Once you transfer the code with your data - the issue of code version
>
> synchronization disappears, doesn't it?
>
> It also makes the wire data format irrelevant. At least for "short lived
>
> serialized states".
>
> Only works if you have no exchange with the environment it is executing.
> And this is where "sandboxing" concern kicks in. What is the sandbox? In a
> web browser they try to define it to DOM + handful of other well-defined
> objects. In case of Java Serialization, it is all classes reachable from
> the loading classloader. And I think Gregg is trying to argue that if one
> is very prudent, one need to manage this well.
>
>
> But how is "exchange with the environment it is executing"
> actually different when installing code on demand from installing it in
> advance???
>
> The whole point IMHO is to shift thinking from "moving data" to "exchange
> configured software" -
> think Java specific Docker on steroids.
>
> Transferable objects allow you for example to do things like
> downloading your JDBC driver automagically without the fuss of installing
> it and managing upgrades.
> Just publish a DataSource object in your ServiceRegistrar and you are done.
> Make it leasable and you have automatic upgrades and/or reconfiguration.
>
> Thanks,
> Michal
>
>
>
>
>


-- 
Niclas Hedhman, Software Developer
http://polygene.apache.org <http://zest.apache.org> - New Energy for Java

Reply via email to