Running Projects

Currently I have different projects running. Some of them are more elaborate, some of them just some expiremets trying out new things…

  • JavaMoney.org is the API and implementation and extensions related to JSR 354 Java Money & Currency.
  • Apache Tamaya is a trial to establish a common API for configuration for the Java eco-system. If we have enough mementum, it might be offered to the JCP as a new JSR one day. So your engagement here would be very important…
  • JSR 377: Embedded Desktop API.

Experimental

Very, very expiremental and controversial are. You can have a look at my GitHub account (atsticks). Most of the things there are purely experimental and not intended for broader use…

Ideas

Additionally there are some ideas around, which may be of intereset:

  • With microservices we have a nice architectural abstraction how we can modularize our applications. With Kubernetes and Docker, we have good support for automation of deployment, autoscaling and failover. Nevertheless for systems to be resilient we need additional abstractions. Agent frameworks like Akka and as well VertX provide some of the functions needed. Hystrix helps a lot with managing failover, circuit breakers and other nice features. You can use Spring boot, which essentially goes in a right direction IMO. Nevertheless I would like to see a solution as flexisble as Spring Boot, but not forcing me to use Spring. Additionally I would like to have a possibility to annotate classes (eventually also methods) so their execution runtime will be automatically switched to an asynchronous call mode. Alternatively letting the methods be passed as method references we could easily also wrap these calls into Futures or similar. So my idea is to build up a rutime engine that is able to wrap these calls as transparently as possible in an application to ensure failures are as isolated as possible. Since the basic functionality is already implemented, e.g. by Akka as mentioned, I think reuse of this functionality there makes sense.
  • Another idea is to build up a distributed, fail.save service location component that also supports hybrid cloud scenarios very transparently. Additionally it should provide simoke mechanisms/SPIs for configuring partitions, applications, data centers or whatever kind of groups. It should be possible t monitor each of the defined group individually, so it can be easily be used as a good starting point to effectively monitor the state of a microservice based system landscape. Using Consul or etcd as a backend would solve the most complex aspects easily.