How many days of training does a new developer need to create a professional UI5 full stack app in storm?
At the end of the first installation & training day with storm you are already able to create fully productive apps with business entities and document attachments.
At the end of the second day of training you can develop dynamic, configured applications with authorization control and relationships between entities.
Within the limits of a support subscription you can use monthly free remote consulting days to directly interview our storm experts and benefit from their experience.
Why should I use storm, if I am actually satisfied with my developing team on SAP web
You should use storm because with the business patterns we support, you develop up to 10 times than any expert developer.
If you need additional non-standard enhancements, you can do so directly in the same storm-environment and you will still be faster than in the classic SAP web IDE.
You need to coordinate those and thus have interface challenges and efficiency barriers. Especially if you want to change data models or other aspects of the application quickly and dynamically at an early stage of development, storm will put you in a much better position.
With storm even a single person (who merely has simple storm development know-how) is able to build a complete application framework. This is fully standardized and your UI5/Java experts can then add more complex logic and UI-requirements in the storm-environment to implement your business requirements.
If I cannot implement a requirement with storm that I need, am I stuck in a dead end with your tool?
No, not with storm. On the one hand, we have integrated various extension concepts directly into the language.
The extension aspect is very important to us and its aim is that you can implement 100% in storm. Therefore, we are increasingly active here and will offer further options for the integration of customer-specific codes in the future.
And since the "human code" that we generate is built like an expert programmer, you can take over the further implementation for each project without storm.
Simply import it into the IDE of your choice and continue working there. You will not lose any time, no work. That is because we do not use unreadable variable names or impenetrable coding. Our goal is to enable the implementation of all requirements directly in storm. Therefore, we assume that you do not need this step. In addition, we continuously extend our features and patterns of storm!
Is there an exit strategy if I notice that I can no longer elegantly implement certain requirements with storm? What do I do with my storm apps?
This is exactly what distinguishes us from other providers on the market. We generate “human coding”, which means that our generated code looks like if it has been implemented by a human developer.
You can cancel your storm subscription after half a year on a monthly basis and continue to use and modify the generated code as you wish. The code you generate with storm is all yours, can be maintained without storm in the IDE of your choice and is well documented. You have no dependency on storm.
We do not use runtime environments or similar, so that you can use the code without any limitations as you like without storm.
Am I able to implement any application with storm?
No. We do not create blockchain applications, IoT hardware connections, reporting-applications or similar. We are currently concentrating on the essential classic business scenarios such as data entry, management and search. Our goal is to provide all necessary language elements, so that you can implement these tasks very efficiently.
Basically, we will certainly implement further requested scenarios with further storm versions. A possible scenario would certainly be the support of workflows. Here we will define the most important topics in close collaboration with our partners and customers.
Is it only possible to generate SAP apps with storm? Which platforms does storm support?
We currently generate 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 independently of the platform. Whether you implement an application at SAP NetWeaver with Java EE5 or on SAP Cloud Platform TomEE7 is transparent for you. As long as you only use standard functionalities of the storm language, it is sufficient to specify the system type of the target platform. For example, you will not notice that we use KM for the document pattern on SAP NetWeaver and the SAP Document Service or CMIS interface on the SAP Cloud Platform.
However, the ABAP stack as well as other cloud offerings of SAP are also strategically important SAP target platforms to us. At the moment we are very well positioned, because we already use all OData services of the ABAP platform for data selection (e.g. drop-downs).
As a further platform there will be a CloudFoundry dock-based standalone environment, so that you can insert complex business apps with OpenUI5 and CloudFoundry without SAP Cloud platform licenses in your own docker cluster.
What kind of programming patterns do you offer that no other programming language brings with it?
We have defined several pattern types that allow you to specify all the necessary areas of typical app development: UX patterns for the user interface, which in turn use action pattern for actions on data. Of course, there are also response patterns to specify flexible mobile, desktop and tablet applications platform-compatible. In addition, we have UI validation patterns on single fields or on the entire model of an entity.
How can I use storm to implement complex requirements in the area of authorization control?
With storm you can specify your own authorization system directly with a high degree of freedom and at the same time use it in various places of data maintenance, UI's, search. For example, you define a “full control” authorization that allows all actions on an entity or a read-only authorization. This can be defined with static user groups, but also data-dependent based on the field values of an entity. If, for example, an end user is to define a business object where the finance department has the read-only authorization and the production department has the write authorization, that would be easily defined in just a few lines. In Java platforms, we implicitly add the authorization directly to the data so that we can search perfectly true to authorization. It is important to mention “Early ACL Binding” as a technical term at this point. You can use the definition of authorization in the same way on a search filter to quickly create a search tab. On one tab you show “full control” objects, on another tab only “read-only” objects. Even though each of this is defined in only one line, the SAPUI5 generator takes a lot of effort to implement this correctly on the frontend and server. That is how you can also easily define a dynamic authorization-dependent UI that simply hides certain tabs of the UI in case a “read-only” user accesses it.
How would you briefly summarize the highlights and benefits of the programming language storm?
Our programming language storm solves typical requirements for the implementation of applications in the business environment in a time-saving and high-quality way. The aim is to describe requirements descriptively in a perfectly designed environment of the specification and design language storm. It can describe requirements on data and UI’s very intuitively and is powerful and comprehensive at the same time. Our software handles the actual implementation of the applications automatically as soon as you save your specification. We provide a result that looks just like a good programmer would have implemented it.
Why is the development with storm faster on different SAP platforms than conventionally with SAP Web IDE only? Isn’t it much quicker to implement with modern frameworks and new programming models nowadays?
Yes, it is, but firstly it is 10 times slower than with storm and secondly you are forced to deal with it in detail. With storm you only define the application once, and that platform independent. Then you have it implemented for all platforms you need. Why should you do the same work again once you’ve defined what you want?
Let’s take the example of SAP platforms: Even in the area of SAP Java alone there are endless 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 also offers the Cloud Foundry Edition for the Java development and the HANA XS Tomcat versions also come along.
Their programmers are actually primary busy discovering new details of implementations and platforms. This means a lot of time instead of concentrating on business logic and the implementation of the actual requirements.
Many of above-mentioned platforms require their own IDE’s and project types that are not compatible. In the typical environment they are constantly busy reshipping platform and framework details and bugs on their own. But this is now stored in the generator for them 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 this in a new storm version. Because of that you have the fastest way to the optimal implementation of your requirements also in the future.