All posts by reiner

Spanish Vanilla Cake

The Spanish Vanilla Cake (SVC) (german: Spanischer Vanille Kuchen) is surprisingly not a cake with a lot of vanilla in it. Instead it contains a lot of marzipan and chocolate (if you like). Due to extensive evaluation, we now can say with great certainty that the SVC is to our knowledge the best pound cake like cake you can create. It is also one of the easiest cake to make.

Ingredients

  • 375 g marzipan (the baking stuff with a high concentration of almonds, the more almonds the better)
  • 300 g butter
  • 4 p yolk
  • 3 p eggs (really the yolk thing is only for color, therefore, you may replace the 4 yolks by one egg)
  • 400 g sugar
  • 0.11 l water or less, depends on the dough consistency
  • 400 g flour, or any flour replacement product: Please note, we tested this with wheat, spealt, and corn-based flours without gluten stuff, and mixtures of them including non pastry flour. It works with most flours as long as it is not too whole grain
  • 0.5 teaspoon baking soda
  • some lemon zest (optional)
  • * g chocolate (optional)

Oven

  • 220 C ca. 30 min: It usually takes longer and often it is good advice to use less heat. Anyway, baking time is affected by proper preheating, size and form of the the baking pan. Therefore, you have to probe the cake to make sure it is ready. You can use a thin wooden stick or other tools that are available. Probe the cake by sticking the tool in it, then pull it out. In case semi-liquid dough sticks to the stick you are not done.

Process

  • Task: Preparations
    • preheat oven
    • make sure you have all the ingredients available
  • Task: Creating the dough
    • make sure the butter is not hard, in doubt make small flakes of it or use other means to make the butter soft
    • mix butter (soft) and marzipan
    • add sugar and mix
    • add eggs and mix
    • add flourr, mix
    • add water, lemon, chocolate, mix
  • Task: Form (requires dough)
    • grease and flour the form. This is necessary to increase the possibility that the cake will get out of the form eventually. Make sure the grease-flour covering is perfect
    • add dough to the form
  • Task: Bake the cake
    • put form in oven
    • wait the appropriate time
    • test whether the cake is baked completely, in case it is not: continue the baking process for some time, in case you are a late evening baker, embrace the agony that you cannot go to bed just yet. You may repeat this loop until the cake is perfectly baked
    • Remove the form (with the cake) from your baking apparatus
    • Inspect the form an cake and you may use other means to loosen the cake from the form.
    • Place a cutting board or use other cake cooling devices such as a cake cooling rack.
    • Flip it. Do not yet remove the form.
    • Wait for it to cool down at least half way.
    • Then remove the form, if you can.
    • In case you fail: Put the cake together again, not get some more chocolate and cover the whole cake in chocolate. This is also a good idea when you plan to send such cake to loved ones, as it makes the cake more durable for transport and less able to fall victim to spores. In case you want to send it or eat it at another day, you can wrap it in cling film. In such package it has at least once survived delivery to the Netherlands via postal service.

 

A Distributed JPetStore

The MyBatis-JPetStore is a well known example application to demonstrate the stripes framework. It is a servlet-based web application which is widely used in academia to test and evaluate approaches. The preference for the JPetStore originates from its minimalistic design. Yet it is also functional complete, as it implements all typical aspects of a shopping system, including a catalog, a search function, a shopping cart, a customer management, and a sales and order management.

While the JPetStore is a neat application for software engineering purposes, it is not designed as a distributed system. Therefore, we recently forked the original JPetStore and created a distributed application out of it. You may find the distributed JPetStore in our github repository (https://github.com/research-iobserve/jpetstore-6).

We support three branches in this repository for different purposes:

  • distributed-with-presentation-layer contains the distributed version of the JPetStore without monitoring instrumentation
  • kieker-monitoring contains a version instrumented with Kieker monitoring probes
  • iobserve-monitoring contains a version instrumented with extended iObserve monitoring probes which also log request parameters

The current design of the distributed JPetStore is as follows:

Architecture and deployment of the distributed JPetStore
Architecture and deployment of the distributed JPetStore

The account service, the catalog service and the order service all contain their own database based on HSQLDB. These could be replaced by another database implementing JDBC. As the order and cart component share the database, they are deployed on the same service.

Our setup comes with proper Docker files for each service and a Docker Compose script to execute the complete shop system. You may find all sources and an introductory readme on github (https://github.com/research-iobserve/jpetstore-6).