Skip to main content

Posts

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 ...

Platform as a Service: What Should We Choose?

Today if you want to deploy your webapp or webservice you first think to do this in the cloud by using PaaS (Platform as a Service). The problem is you have many alternatives in this area: - Microsoft Azure: http://azure.microsoft.com - Google AppEngine: https://cloud.google.com/appengine - Amazon AWS (Elastic Beanstalk): http://aws.amazon.com/elasticbeanstalk - Heroku (from salesforce): https://www.heroku.com - OpenShift (RedHat): https://developers.openshift.com - CloudFoundry (Pivotal): https://run.pivotal.io The problem: what PaaS should you choose? This presentation helps a bit: http://goo.gl/dGnpGP BTW.: if you want to run Docker, AWS Elastic Beanstalk is the easiest way to do: http://goo.gl/mtMk5J  It would be nice to hear your opinions! Cheers, Lofi

Automatically Generating MagicDraw Report

Someone asked me how to generate MagicDraw HTML report from a certain UML model automatically. This feature is actually quite practical since if you are working in a group of business analysts, architects, developers, quality assurance personnel and operators, you mostly don't want to tell them to use MagicDraw to open the MDZip file. In this case you have two choices available: Export the diagrams as pictures (JPG or PNG) and put them somewhere like in your company Wiki. This can be done easily but you lose the structure of your model and you need to copy the structure in your Wiki which kind of unpractical. Export the whole MDZip file as a HTML (dynamic) report, which can be browsed nicely afterwards. MagicDraw gives you an example how to do this from Maven, so you can generate the report automatically. So here are the steps: Create a Maven plugin project to run MagicDraw: You need to build a Maven Plugin project which should be used later in your main project. Copy the ex...

Why Should We Dump Java EE Standard?

Prologue I never thought that I have to write about this topic again, but I have to since a couple months ago I have to justify a decision of using Spring Framework in an enterprise environment. The decision to be made was whether we are going for Java EE or using Spring Framework . The constraint was very clear: We need to support both batch and web apps. For web apps we only can use an old OAS (Oracle Application Server) with Java EE 1.4. Commercial support has to be available for the framework and the runtime environment. We are going to update the app server for Java EE 6 or 7 soon, so it should be possible to have a smooth migration. We would like to minimize the use of our home grown frameworks. Still there was such a quarrel in the team because there are already some Java EE web apps run in OAS upgraded with JBoss Weld CDI 1.0. Normally JBoss Weld 1.0 won't run out of the box in OAS but with some patches we got it run. The problem with all those web apps is we had...