Skip to main content

Posts

FrOSCon 2019: “Are you still using or already producing OSS?”

I had a presentation @FrOSCon 2019 wih the title Open Source: Nimmst du noch oder Gibst du schon?  The conference was very interesting and this was my first time at the conference. You have a free entrance on Saturday and Sunday and there are a lot of super interesting state-of-the-art topics. I published my slides here:  http://bit.ly/31DagCJ  and FrOSCon published my talk as video right here:  http://bit.ly/FrOSCon2019DewantoVideo Enjoy, Lofi

Web Browser Programming in Java - Using GWT and JsInterop

So in the year of 2019 web development is entirely occupied by JavaScript or derivatives like TypeScript ? Well, not entirely… One small village of indomitable Open Source Java developers still holds out against the invaders with the help of Java to JavaScript transpiler GWT  ( http://www.gwtproject.org ) and J2CL ( https://github.com/google/j2cl ) Here is my article about Java to JavaScript transpiler for beginners :  http://bit.ly/WebJavaStory Enjoy, Lofi

The Most Precious Thing — The Time of Your Life

I just published a story "The Most Precious Thing — The Time of Your Life". I realize that we can change things by investing time instead of money. Here is the story:  http://bit.ly/TimeIsKing Enjoy, Lofi

Moving Host Cobol Batches and Monolith Webapps to Cloud and Microservices

Very interesting presentation in Amazon Event "From Mainframe to Microservices - Vanguard's Move to the Cloud" . Following parts can be used as Migration Patterns : Different ways of how to move from Mainframe to Microservices: Re-host Reengineer  Refactor Rewrite Batch job migration Data analytics enablement Data-driven augmentation Re-platform with Linux and Java Repurchase Retire Combination of all This presentation also shows the Cloud Data Architecture at Vanguard. Generally this is how we can build our own database for our micrsoservicew at the cloud and at the same time still use the data from DB2 mainframe on-premise as well.  Advantages using this data architecture: Each microservice reads data from its own local database. DB2 mainframe database can still be used from other Host / Cobol batches. DB scalability Disadvantages: You cannot write to the database in case you have a network problem. There is an extension t...

WikIT42 - Structure for IT Division and IT Products

After introducing Confluence three times in three different companies I made a template which consists the  best practices  of how you could structure your IT Division and IT Products within your organisation. Although the three different companies have completely different domains ( marketing , payment and environmental services ) the stucture of the division and products are quite the same. So if you need to introduce Confluence in your company and you would like to bring the "product team" together, just take a look at WikIT42:  http://bit.ly/wikit42en A German version can be found here:  http://bit.ly/wikit42de For discussion I open a Gitter chat at:  https://gitter.im/wikit42 Enjoy, Lofi

Low Code == Low Quality?

Recently Manuel and I wrote an article about Low Code / No Code Platform at heise.de:  http://bit.ly/LowCodeHeise . It is quite interesting to see the discussions. More than 400 discussion items. It seems that this topic is quite an important topic for developers. Most of them are against or don't trust Low Code / No Code Platform. Enjoy reading, Lofi

The Story of SAP and Lidl (or others, like Deutsche Post and co.) Or How Can You Throw 500 Millions EUR Out of Your Window...

The Story of SAP and Lidl (or others, like Deutsche Post and co.) Or How Can You Throw 500 Millions EUR Out of Your Window... I wrote this article based on following information: - http://bit.ly/2vtNHlv - http://bit.ly/2LHnQBg - http://bit.ly/2AAFmCg - http://bit.ly/2MfmABu It is hard to believe that after so many years someone still believes to be able to migrate long running and still working system with a naive project style. We have to rethink our way to product instead of project. Moving to #SAP or any other systems means building a product and its long term product team not a project with a clear start and end point. Introducing SAP is just the same as introducing any other standard software product. Let's take a look at introducing simple #JIRA product in your software development division. You could customize JIRA workflow as complicated as you wish but you shouldn't because you cannot upgrade it later on. If you need to change or extend the process you ...

GWT Training for Java Developers with GWT Boot

I'm always a fan of " one language solution with Java to rule them all ", here are sofar my opinions about Polyglot Programming: Why "Polyglot Programming" or "Do It Yourself Programming Languages" or "Language Oriented Programming" sucks? Warum Polyglot Programming nicht praxistauglich ist Java als universelle Programmiersprache Until today nobody can excite me about Polyglot Programming. My points are getting another big support after I read the " Rise of Polyglot at Netflix " presentation which says that Polyglot is expensive , also for company in the category of Netflix. At the end of the day we need to be productive . Our applications should have a  high quality standard and the total costs  (TCO) of our software development should be manageable and low . To be able to reach this goal we have Java with Spring Boot or JakartaEE on the server-side which offers REST interfaces. So logically for user interface development ...

Low Code and No Code Platform == NOT with VISUAL Everything

It's interesting to read this article: The Evolution of Low-Code: Welcome to the Machine . The content is in my opinion just a marketing for Low Code Platform. It is not true to say that the RAD tools are not successful. There are a lot of good RAD tools available from 1992 until today e.g. Delphi (Borland and now Embarcadero). No tons of generated code, very precise and works very good. Using visual coding thing does not mean to have higher abstraction layer. And programming visual for logic like “if-then-else” with “flow chart” or BPMN or UML or other visual tools won’t scale. Therefore we still write textual today and not drawing everything to communicate. Drawing is ancient, exists before you can write and read. Visual and textual representation have their own role today in software. Letting non-developers clicking visual programming tool means ‘horror” for the TCO (Total Cost of Ownership) of your app. Application development cost is always TCO and not only the first co...

Rancher 1.6 on Macbook

Introduction Installing Rancher 1.6 on your Macbook should be straight forward. In my case it was not as easy as I thought because of version compatibility between Docker and Rancher. Here are my steps, enjoy. Install Docker Toolbox in your Macbook First of all Rancher 1.6 does not support Docker for Mac , so instead you need Docker Toolbox for Mac . Check this page for differences between Docker for Mac and Docker Toolbox for Mac . One important point at the time you install Docker Toolbox for Mac: you need to get the correct version of the supported Docker. Rancher 1.6 supports some Docker versions. You can check the list on this support page . If you are trying for the first time please get the Community Edition (ce) of Docker. Here is a functional example: Docker Toolbox for Mac Version 17.06.0-ce. Download:  https://github.com/docker/toolbox/releases/tag/v17.06.0-ce Get the .pkg file for Macbook Be careful: Docker Toolbox always downloads the current Docker ver...

Collection of Articles for Blockchain, Smart Contracts and Ethereum

This topic is hot: Blockchain, Smart Contracts and Ethereum, time to take a look at some articles about this. Also to see how this can be done in Java world. Article I found useful sofar: Very simple intro into Blockchain and Smart Contracts: https://goo.gl/fJ5srs   Smart Contracts and Ethereum: https://goo.gl/TEFYcR   Introduction of Programming Smart Contracts on Ethereum: https://goo.gl/oGoSWv Interfacing with Ethereum Smart Contracts in Java: https://goo.gl/yeXJK1 Enjoy!

Java Everywhere: Java as Universal Programming Language

Manuel Klein and I wrote an article about using Java as Universal Programming Language at heise Developer. Writing about programming language is always interesting since many developers look this topic as religion. You can see this in the discussion part of the article with more than 200 discussion threads . It is always the question which is the best programming language ever. I'm just very pragmatic, Java is still the programming language to be chosen - with all its advantages and disadvantages , if you want to implement every single of your software with one programming language. It is often better to have one programming language for all part of your software and also for all the developers in your company, so that they can communicate and articulate . This has an analogy with a "normal" language. A good example is English as a general purpose language. With English many people in the world can communicate with each other. Also a good example is Indonesian langu...

Microservice - Architectural Patterns

I have to introduce Microservice with all its architectural patterns to my team and at the end I could say, you will find very valuable information on Internet! There are a lot of very good sources for this topic on Internet, amazing. My problem is only following: I still cannot find all those good articles and blogs in one place. So here is the result of my short research to create my presentation about " Microservice - Architectural Patterns " in German language. Following sources have great values on this topic: General introduction to Microservices: https://www.nginx.com/blog/introduction-to-microservices  and  https://heise.de/-3091905  and  https://jaxenter.de/was-sind-microservices-40571 Architectural Patterns for Microservices: http://microservices.io Domain Driven Design: https://de.wikipedia.org/wiki/Domain-driven_Design Very good explanation for communication possibilities in Microservices: https://capgemini.github.io/architecture/is-rest-best-micr...

Experiences with Microservices

I had a chance to talk about my litte experience of implementing and doing the operation of microservice-based application. Here are my slides in German language: Enterprise-Application-Customization mit Microservices - Ein Erfahrungsbericht Enjoy!

No Place for Dart Language...

It is interesting to see that even Google cannot make Dart - after more than 5 years - as a real challange to JavaScript . At the end Dart is "just" another insignificant programming language and compiles those codes to JavaScript . In this point Microsoft is more intelligent by doing TypeScript which is nearer to JavaScript. Check this article for comparison between Dart and TypeScript: Why did the Angular team choose TypeScript over Dart? If Google were to invest that amount of ressources for Dart in GWT (Java to JavaScript compiler), which is definitely a very good product and Java is still the number one programming language... I cannot imagine where we are today with GWT. So I would stick to Java with GWT and if I need to write directly in JavaScript I would use TypeScript. No place for Dart . Just curious, Google seems to be very clear with its target, if a product is not successful, remove it (see iGoogle, Google Wave, etc.). This could also happen to Dart?

Platform Strategy: From Portlets to OpenSocial Gadgets to Progressive Web Apps: State of the Art

Introduction As the world was still at Java's hand we often define what so called a component-based platform . I had this experience in the year 2000 with OpenUSS (Open University Support System). At that time I had an idea to develop a platform which is extendable using component architecture and J2EE technology ( OpenUSS Component Architecture ). After a while we saw the birth of portal and portlet  technology. Everyone tried to build portlets which can be easily installed in a portal server, all Java based. Do you remember all those portals like Apache Jetspeed, Liferay, JBoss Portal, IBM Webshepe Portal, etc? After the portal wave there was OpenSocial gadget which is not only specified for Java but generally available for different technology implementations. It uses HTML , JavaScript and REST completely independent from Java . Apache Shindig was an Open Source implementation for OpenSocial gadgets container. OpenSocial gadget was also the main technology for iGoogle, ...

Programming Introduction for Primary School with ScratchJr, Pico Projector and Google Chromecast

Invitation I was lucky that my daughter asked me whether I would answer all the questions of her classmates - most of them are nine years old - about my profession. They had "professions" as the topic of their general knowledge lesson. So my daughter told me that they invited teacher, school caretaker, stewardess, nurse and also me software developer. Her classmates and she would ask the invited person some questions. I directly said yes because I think that the new generation needs to be introduced in software stuff especially that the current professions will change a lot in the near future. Reuters had a very interesting article about how Robots and Artificial Intellegence will cost five millions jobs by 2020 . In my opinion software development will be much more important by 2020, so this is my chance to introduce my profession to the kids in my daughter's class. Preparation In my preparation I thought that I need to show them something cool so I began to goog...

Enterprise Applications Customization with Microservice

Introduction Today in highly paced enterprise environment you, as the leader of enterprise IT division, need to be fast. Simplicity is the key for the speed . What are the key factors to simplify your IT? Three different areas are very important to take care of: Technology , Organisation and Environment ( TOE Framework : http://goo.gl/tQlX5z ). Here are some detail points for technology and organisation : 1. Technology: in most enterprises there are already one or more ERP and CRM solutions the so called Enterprise Applications . We need to manage them carefully as they support the business processes. In context of the core compentencies most enterprises customize the enterprise applications to fit their needs. We need to manage the customizations in detail as they represent the core competencies and at the same time the differentiation of our enterprise to other competitors. 2. Organisation: working in a small team with different roles and functions is already ...