top of page
Verlauf_Header_edited.png

Our blog

Topics around frequi

Blog_Anker

Business benefits of the frequi software

Interview mit dem Ideengeber und Architekt der Sprache storm – Lars Laegner

Alle Blogs
Verlauf_Header.png

You have questions far beyond the topics of the blogs?

Feel free to contact us!

Blog 1
Blog 2

All blogs at a glance

Business benefits of the frequi software

With the frequi software, you can massively accelerate the development of full-stack applications today. Below, frequi CEO Mathias Zimmermann describes the business benefits that the software brings for frequi customers and partners.

 

It is a familiar picture these days - many IT departments in companies groaning under the demands of their specialist departments. These requirements are often driven by competitive pressure and the market conditions companies are exposed to. An essential efficiency factor in this environment is the ability to bring new solutions to the market quickly and flexibly, or to establish them on the market. For one, these solutions must be individually adapted to the requirements (differentiation). Often, however, there is only a very limited budget available. Nevertheless, there are expectations for technologically high-quality and contemporary applications that leave an eventful impression for the end user. However, this is only possible with the use of the latest front-end technologies.

In addition to the technological change in the front-end area, the question of the right infrastructure for the implementation of corporate applications has arisen in recent years. On the one hand, there is the grown, apparently fully controllable and secure internal on-premise environment; on the other hand, you often want to make applications available to a large number of users outside the company. The infrastructure hurdles that a company needs to overcome to provide an outward-facing solution are still very high in some cases. And it is in precisely this environment that there are solutions that can be implemented on the basis of a cloud platform.

Due to this uncertainty or lack of strategy, the decision-making and thus the implementation process of technically necessary and competitive differentiation applications is being postponed. For fear of betting on the “wrong horse”, many of these requirements are initially ignored and the implementation is postponed. As a result, both the specialist departments and IT are dissatisfied, apart from the economic damage to the company. Since this can often not be clearly quantified, this dilemma often has no consequences.

But how can this challenge be solved? Ultimately, a very broad range of development know-how is required to implement the required application. This ranges from JavaScript for the front-end implementation, through detailed knowledge of the middleware, to the implementation of the business logic in the ERP systems. While most companies rely on SAP on the ERP side and often have very experienced developers on board, only a few companies are lucky enough to have hired employees in recent years who feel at home in all the necessary technological worlds. However, this is imperative in order to implement a professional, high-quality application that is acceptable for the specialist department. Often, the IT department only has access to the free market in order to involve qualified service providers who can implement their requirements. These resources are limited, however, and only available with a lot of advance planning. Gartner (the world's leading consulting and research company) expects the need to develop applications to be growing five times faster by 2021 than the resources that can deliver these applications.

Software manufacturers are trying to find solutions for this with a wide variety of approaches. On the one hand, it is particularly interesting to transfer some of the requirements from the IT departments to the specialist department. The fact that this approach can only be promising to a limited extent is particularly evident when you consider that data services are essential for the application. There are other approaches, however, that aim to significantly increase efficiency in the IT department by accelerating development work. In this context, it will be difficult to fully train developers in all the necessary front-end, middleware and back-end technologies so that every developer can fully master the extensive technology stack. One approach to solving this question is the possibility of the so-called full stack generation of applications. This is about using a uniform programming language or graphical application interface to describe or model the complete application from the front-end to the database layer and then to have the application generated across all layers using the appropriate tool.

We at frequi follow precisely this approach because we are convinced that high-quality and functional applications can only be created in the overall context of knowledge about the application architecture. Even a specialist department can and never will have this overview. We therefore do everything we can to make the developer's work as simple and efficient as possible. The developer no longer needs to master the complexity that results from the use of different technologies. However, the code generated in the end is no different to what an experienced developer would implement. This leaves the developer the option of subsequently making manual adjustments to the application using the respective tool.

Last but not least, we meet the challenge of having to make the platform decision with another innovative approach. In addition to the possibility of generating the full stack application, we go one step further and enable this on multiple platforms. This makes it possible to generate several platform-specific projects with one almost identical code. Migration from one environment to another can thus be done in a few hours.

By using the frequency programming language storm, you can benefit right away from the advantages that enable you to develop your SAPUI5 applications more efficiently on different platforms:

  • An immediately usable Eclipse plugin reduces the initial effort for the developer

  • The easy to learn metalanguage storm

  • A multi-stack development tool

  • Currently supports full stack development on the SAP Cloud and SAP NetWeaver Java platform

  • A development tool with optimal support for fast development (copy/paste, search/replace functions)

  • Enormous reduction in the implementation effort of UI5 applications (in particular data entry, list output, document management and search scenarios)
     

If you have any questions, do not hesitate to write to us at: contact@frequi.de

Interview with the developer and architect of the language storm - Lars Laegner

Learn more about the architecture and background of the development of the programming language storm. Lars Laegner describes why this approach works much more efficiently when implementing business requirements than classic SAP development methods.

 

How would you briefly summarize the highlights and benefits of the storm programming language?

 

storm solves typical requirements for the implementation of applications in the business environment in a time-saving and high-quality manner. It is about describing requirements in a perfectly designed environment, the specification and design language storm. It can describe the requirements for data and UIs very intuitively. It is powerful and extensive at the same time. Our software performs the actual implementation of the applications automatically as soon as you save your specification. We deliver a result that looks as though a good programmer implemented it.


 

Why should I use storm? My programmers are able to program everything themselves.

 

Because with the completion of the specification of the requirements in storm, you have also automatically finished the implementation. If you do everything yourself, you need a programmer who knows all the languages that are necessary for a full-stack application. For example, SAPUI5, HTML5 and CSS for the front end, and Java including the frameworks OData and JPA for persistence on the back end. Typically, very few programmers master all these worlds equally well, so you always need a team that you coordinate, and thus challenging interfaces. And if you want to migrate your application to a new platform, you will typically need to implement everything again.


 

But with modern frameworks and new programming models, can't I implement faster these days?

 

Yes, but firstly through factors that are slower than with storm and secondly you are forced to deal with it in detail. With storm, you define the application once, regardless of the platform, and have it automatically implemented for all the platforms that you need. 

Why do it again when you have already defined what you want?

Let's take the example of SAP platforms; in the area of SAP Java alone, there are countless of them. SAP NetWeaver Portal with Java EE5, SAP Cloud Platform with Java EE6 Web Profile / SAP Cloud Platform with Java EE7 Web Profile (TomEE). SAP now offers the Cloud Foundry Edition for Java development as well, followed by the HANA XS Tomcat versions. Your programmers are actually primarily concerned with discovering new details of the implementations and platforms. This means a lot of time, instead of concentrating on business logic and the implementation of the actual requirements. Many of the above platforms require their own IDEs and project types that are not compatible. In the classic environment, you are constantly busy navigating through platform and framework details and bugs. However, this is now stored in the generator for you and is then automatically available to all users of the language. If a target platform provides new best practice solutions, we are able to use it in a new stormversion. So you have the fastest way to optimally implement your requirements in the future.


 

But if your generator cannot implement a requirement that I need, will I be stuck with your tool?

 

Not with storm. On the one hand, we have integrated various extension concepts directly into the language. For example, functions that we call up on the server at defined times, before or after an update of a certain entity. Or UI actions, where you store your own JavaScript code yourself. Or if you want to make a special UI5 XML definition yourself at the UI, you can add it to the specification on the spot. The expansion aspect is very important to us and has the goal of enabling you to implement 100% in storm. Therefore, we are increasingly active here and will offer further options for introducing your own code in the future. Also, I would like to add this decisive argument at the end. The code we generate is built as though it was made by a programmer. If you want to carry out further implementation yourself for this project, simply import it into the IDE of your choice and continue from there. You don't waste any time and there is no extra work, because we don't use unreadable variable names or impenetrable coding. Our goal is to enable all the requirements directly in storm, so we assume that you do not need this step. You could just approach us and we will add a new feature or pattern to our product.


 

Can I implement any kind of application with it?

 

No. We do not create blockchain applications, IoT hardware connections or such like. In the first year, we are focusing on 2 essential scenarios, data entry and search. Our goal is to provide all the necessary language elements so that you can implement these tasks very efficiently. Basically, we will certainly implement other requested scenarios with further storm versions. A possible scenario here would surely be the support of workflows. Here we will work closely with our partners and customers to define the most important topics.


 

Do you only implement SAP apps?

 

We are currently generating complete SAPUI5 apps, including server interfaces and persistence in Java. An important design criterion of the storm language, however, is that we capture all definitions regardless of the platform. It is transparent for you whether you are implementing an application on SAP NetWeaver with Java EE5 or on SAP Cloud Platform TomEE 7. As long as you use the standard functionalities of the storm language, it is sufficient to specify the system type of the target platform. They don't care whether we are using the SAP NetWeaver KM for the document pattern and the SAP Document Service or the CMIS interface on the SAP Cloud Platform. The ABAP stack and new cloud offerings from SAP are also strategic for us as an important SAP target platform. There will be more announcements in this area in the future. At the moment, we are very well positioned here, as we already use all the ABAP platform OData services to select data such as drop-downs.


 

What kind of programming patterns do you offer that no other programming language has?

 

We have defined various pattern types that make it possible to specify all the necessary areas of typical app development. Also UX patterns for the user interface, which in turn use action patterns for the actions on data. Of course, there are also responsive patterns to specify flexible mobile, desktop and tablet applications in a platform-specific manner. We also have UI validation patterns on individual fields or on the entire model of an entity. It is always important idea that to define in a platform-neutral way. Then we can correctly convert a storm validation pattern for SAP UI5 into the restrictions of an XML view element. At the same time, we can offer it as a UI5 JavaScript function and implement it as a server-side Java validation check. Everything comes from a platform-independent source and we can transform it into any programming language.


 

Typically, however, generators fail when faced with more complex issues, such as data permissions, since this is not a simple issue and the requirements are often very customer-specific. How did you solve that?

 

Yes, that was also a special challenge, requiring high degrees of freedom in defining the authorizations and at the same time flexible use in various areas of data maintenance, UIs and search. We are also very proud that we have implemented this very effectively in our current platforms. You define which authorization collection you want to use - for example, a “Full Control” authorization that allows all actions on an entity, or a read-only authorization. This can be stored with static user groups, but also dynamically depending on the data based on the field values of an entity. If, for example, an end user specifies for a business object that the finance department has reading access and the production department has writing access, this is defined in a few lines. In the case of Java platforms, we implicitly attach the authorization directly to the data, so that we can perform an efficient search for authorizations. “Early ACL binding” should be mentioned as the technical term here. You also use the authorization definition in the same way for a search filter to quickly create a search tab. On one tab, you show writing-authorized objects, in another tab read-only objects. All of this is defined in one line.

But there has been a lot of effort put into the SAPUI5 generator to correctly implement this on the frontend and server. This way, you can very easily define a dynamic authorization-dependent UI that simply hides certain tabs of the UI when a user without writing-authorization accesses it.


 

What are your goals and plans for 2018 and beyond?

 

For 2018, the goal is to perform a successful market launch. We are currently in the ramp-up phase and are accompanying the first Go Live projects. We are expanding the language step by step in the areas of the greatest benefit for our customers. In the medium term, we are building a digitized cloud platform for the storm-based generation of applications. The focus is currently on SAPUI5 with Java but further SAP platforms will follow in the long-term. When the core of the storm platform is ready, we will open up the creation of individual application patterns for our partners and ambitious customers. As a result, there is even more long-term potential here for implementing other scenarios. We will listen carefully to our customers concerning which expansion levels outside of the SAP sector, such as Microsoft Azure or Amazon AWS, are of interest to them. We want to consciously allow ourselves sufficient leeway to create a Microsoft Azure or Amazon AWS-based UI based on Angular JS next year. Our customers will show us the way.


 

Thank you very much for the interview!

 

You are welcome.

bottom of page