Interesting topics all around frequi
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.
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: email@example.com.
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.
My programmers are able to program everything themselves. Why should I use storm?
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?
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?
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.