Notifications
Clear all

WEM - Review


Rob ten Kroode
Member Admin
Joined: 2 years ago
Posts: 30
Topic starter  
wpf-cross-image

[et_pb_section fb_built="1" _builder_version="3.22" fb_built="1" _i="0" _address="0"][et_pb_row column_structure="2_3,1_3" _builder_version="3.25" background_size="initial" background_position="top_left" background_repeat="repeat" _i="0" _address="0.0"][et_pb_column type="2_3" _builder_version="3.25" custom_padding="|||" _i="0" _address="0.0.0" custom_padding__hover="|||"][et_pb_image src="https://lowcodeplaza.com/wp-content/uploads/2019/10/Screenshot-2019-10-02-at-23.27.19.png" _builder_version="3.29.3" border_width_all="1px" _i="0" _address="0.0.0.0"][/et_pb_image][/et_pb_column][et_pb_column type="1_3" _builder_version="3.25" custom_padding="|||" _i="1" _address="0.0.1" custom_padding__hover="|||"][et_pb_acf_table_items title="Product Details" _builder_version="3.29.3" border_color_all="rgba(0,0,0,0)" _i="0" _address="0.0.1.0"][et_pb_acf_table_item field_name="Product Details|vendor_logo" _builder_version="3.29.3" text_text_color="rgba(0,0,0,0)" _i="0" _address="0.0.1.0.0"][/et_pb_acf_table_item][et_pb_acf_table_item field_name="Product Details|vendor" title="Vendor" _builder_version="3.29.3" text_font="|700|||||||" _i="1" _address="0.0.1.0.1"][/et_pb_acf_table_item][et_pb_acf_table_item field_name="Product Details|product_name" title="Product Name" _builder_version="3.29.3" text_font="|700|||||||" _i="2" _address="0.0.1.0.2"][/et_pb_acf_table_item][et_pb_acf_table_item field_name="Product Details|version" title="Version" _builder_version="3.29.3" text_font="|700|||||||" _i="3" _address="0.0.1.0.3"][/et_pb_acf_table_item][/et_pb_acf_table_items][/et_pb_column][/et_pb_row][/et_pb_section][et_pb_section fb_built="1" _builder_version="3.22" fb_built="1" _i="1" _address="1"][et_pb_row _builder_version="3.25" background_size="initial" background_position="top_left" background_repeat="repeat" _i="0" _address="1.0"][et_pb_column type="4_4" _builder_version="3.25" custom_padding="|||" _i="0" _address="1.0.0" custom_padding__hover="|||"][et_pb_text _builder_version="3.29.3" background_size="initial" background_position="top_left" background_repeat="repeat" custom_padding="||0px|||" _i="0" _address="1.0.0.0"]

Introduction

ZoomBIM introduced the WEM Modeler a few years ago. Back then they were probably the first ones to have a true no-code platform that is actually able to build Enterprise grade applications. They recently introduced version 4.0, which has an increased focus on productivity and ease of application building. The fact that WEM Modeler has been around for a few years is evident: a very stable product, very rich in functionality, support for all major integration protocols/standards, and really simple to use. But you can still build very complex, business critical applications.
But it is also clear that ZoomBIM is a smaller company: new features are delivered fairly slow, and competing products seem to match are surpass WEM Modeler in some areas.

WEM consists of 2 parts: the WEM Modeler, which is the visual tool to build the applications, and the WEM platform, which runs in the cloud and runs the actual applications. Although there is an on-remise or private cloud option available as well.

Overall impression: strong product for the citizen developer, or even developers. But it does lack functionality in certain areas, such as UI creation, AI,  or modular approach.
Let's look at WEM in more detail

Building Applications

To build applications, you need to use the WEM Modeler. Using the WEM Modeler is free to start with. Just go to wem.io and sign up for an account. By default you will get access to version 3.7 of the WEM Modeler. But we suggest you go straight to WEM version 4.0 (which is currently in a public beta): modeler.v4.wem.io.
From here you create new applications, or open your existing ones. Existing applications can be grouped in s0-called workspaces, and bot individual applications or entire workspaces can be shared with other, so you can build WEM applications with a team of WEM Modelers, if needed.

The WEM Modeler is the tool that you use for building, testing and deploying your application. So there is a single tool for everything you need. The heart of the Modeler are the flowcharts. This is what you use to create your applications. And flowcharts do exactly what you expect: you create the flow of you application, using all sorts of 'nodes'. These nodes can be nodes that specify a screen/form, that handle data, that perform web services, access external systems, generate PDFs, send email, import data, etc. That means that everything you have to build, is done through flowcharts. Business logic, calculations, implementation of algorithms, anything. Flowcharts can call other flowcharts, or be standalone. Large applications nay have hundreds of flowcharts, so there are ways to order them.

Obviously every application needs a data model, so that is also an important component of the WEM Modeler. Unfortunately there is no way to import an existing data model, or to create your data model visually. That is ok for smaller applications, but when you create large application with WEM we would suggest you use a separate tool to build/manage you datamodel (even tough you can't import that). Despite this downside, it is possible to create complex models if needed. There are no restrictions.

When you need to integrate your application with the outside world, WEM supports REST, SOAP and OData. It is also possible to import or export data (excel, CSV, JSON, XML). All integrations are easy to set up. Certainly SOAP and OData: they only require a WSDL file (SOAP) or a service URL (OData) to set up your integration: no technical knowledge is required. REST is also simple, but is done through flowchart nodes.
If you need to expose your application, WEM supports you as well. It is not possible to select a method: WEM always makes every application that you expose available through REST, SOAP and OData.

The last important component to notice is the so-called Ontology. The Ontology is a concept where you store data (mostly in lists) that doesn't change much. E.g. a list of all countries, all currencies, all possible statuses of your ticket system. These lists can very hierarchical or just a simple list. Most of the times it is used when you need to select something from a list (through radio buttons, checkboxes, dropdown menus, etc.).
When you do not nee to manage that data, the Ontology is a powerful tool to quickly organize the non-changing data in your application.

Finally: the WEM Modeler offers a lot more, like managing your menus, creating external links to access your applications, setting up integrations, etc. Try it out for yourself to see what is possible. One noticeable feature: every application you build is multi-lingual. You just need to make sure you maintain translation through the WEM dictionary.

Overall the WEM Modeler is easy to use, visually pleasing, and it is great to have ALL tools available in one place. When using the flowcharts it is very handy that everything is context sensitive (e.g. if you drag a database list to your flowchart, the flowchart editor knows exactly what that means and provides you with relevant option to specify what that node needs to do,). Easy to use, runs in any HTML5 compliant browser, and very good performance.

User Management

The only users that WEM recognizes, are the people who use the WEM Modeler. But applications that you build don't have built-in user management: that is something you need to create yourself. Or you use one of the sample apps that WEM provides, that includes a complete use management system, as the basis of your applications.

The other option is to use OAuth or SAML to set up single sign-on, and use an external system to grant access to your application. WEM Modeler offers both options, so you can build applications that use e.g. Microsoft Active Directory  for the authorization and authentication. Or use the social networks to grant access to an application.

Implementing it in your application is very easy to do. Setting it up not: is requires quite a few steps and when using SAML, you will need your sysadmin to provide you with information in setting up the authentication provider in WEM, and probably also update your Active Directory, or Google G Suite setup.
But once that is done, using it in your apps is very simple: just drag the authentication node on your flowchart, and specify what to do when authentication fails or succeeds.

To summarize: simple user management is not part of the WEM Modeler but you can use a sample application that has full user management implemented as the basis for your app. And if you want to use an external system for authentication: WEM Modeler supports that in an easy way, but setting it up is rather complex.

Mobile Applications

All applications that you build with the WEM Modeler are based on bootstrap. That means that every application is HTML based (a web application) and out-of-the box responsive: it will work on your desktop computer, but also on your mobile phone. WEM Modeler also has numerous options available to optimize the UI of your application for a specific device: a mobile phone, a tablet, a desktop, etc. So WEM scores really good in this area.

But how about a true native app that can be downloaded from the Google Play Store or the Apple App Store? This is also possible, but you need to know this when you start building your application: it is either web application or a native mobile app. When you decide on a native app, WEM Modeler can generate Android and iOS apps. The complex part of the app generation is getting all correct information that Google or Apple expects when you publish something in a store. When you have all of that, WEM Modeler generates the app, whch you then have to publish to the store yourself. There is no auto-publish function that generates the app and immediately sends it to one (or both) of the app stores.

Building a native app is identical to creating a web app, with the difference that you have some specific apps available for native apps, that allow you to access device specific features like GPS info, camera, etc.

Note: the native app you create is a standalone application, so if it needs to integrate with a central application, and synchronize data:  you need to build that yourself. In other words, it is NOT a wrapper to wrap your web application in a native mobile application! Also, once you have build your web application, there is no option to also generate a native app for it.

App store / re-use of components

One of the weaker areas of the WEM Modeler is the limited ability to re-use things you've built before. You can re-use an entire application, and within an application you can re-use e.g. flowcharts, integrations, etc. But it is not possible to build e.g. a really cool algorithm and then use that algorithm in different applications. The only re-usable components are widgets (see the UI/UX section). ZoomBIM is planning to add the re-use of components in one of the upcoming releases, but there is no time-schedule for that.

To re-use functionality in other applications, the workaround would be to create webservices that are exposed. And through those webservices you can access functionality in other applications. Not ideal, but might work in certain scenarios.

This also means that the WEM App store (accessible through the My WEM self-service portal), is limited to complete (sample) applications and widgets. The app store itself is fairly new and does not contain a lot of items. It seems as if it is hardly being used and does not offer a lot of value.

UI / UX

Another 'weaker' area (depending on your needs) is the user interface of your applications. The user interface of a WEM application is based on the so-called Master Template. This Master Template defines the look & feel of your applications: fonts, colors, buttons, panels, background, logo, everything is defined in the Master Template. Almost anything goes. WEM comes with a number of Master Templates from which you can choose that one you like. And depending on the Master Template you can make a number of changes to the look and feel through specific Master Template parameters.
The major drawback however, is that you can't create a Master Template yourself: ZoomBIM will do that for you. Even if you would be able to create your own Master Template (some of the WEM partners have the knowledge to do this), you cannot upload the template, so you have to relay on ZoomBIM to do that for you. Obviously not an ideal situation. Work is underway to include a complete UI editor to the WEM Modeler, but it is not clear when this will be available.

Independent from the Master Template, it is actually possible to manually add CSS code to your application in the so-called UI node (the node that is used to create your pages, forms, etc.). But this is only useful for small very specific UI changes.

Not having the ability to create and test your own UI design is a major drawback. It is being addressed, and until that is fixed you have to contact ZoomBIM to create a Master Template for a design you made. Or use an exiting template, tweak it through the template's parameters and add some custom CSS to components on your pages (if needed).

DevOps

The WEM Modeler is not only used to build applications, but it has also all DevOps capabilities that are needed. CI/CD is an integral part of the way you build applications with WEM and deploying applications is a one-click action.
WEM has a complete DTAP (Develop, Test, Acceptance, Production) setup, which allows for a very structural approach to building your applications. For each step you have a distinct separate environment available. You start in the WEM Modeler with the Develop & Test environment, and when the application is ready to be tested with the test-team, you can publish the application with a single click to the Acceptance environment. And when everybody is happy, it also takes just a single click to deploy to the Production environment.
It is even possible to have multiple Test/Acceptance and Production environments for a single application.

Building applications is simple, and the same applies to deploying apps.

Deployment options

By default, your applications run in the cloud, from the WEM runtime platform. Anything you do, is done through the cloud: from building the application to running it. There are several runtime environments available, and ZoomBIM adds more locations whenever that is needed.

The second option is to have the runtime environment installed on-premise or in a private cloud. If data privacy is an issue, thais could be a good alternative to the cloud option. In this setup the WEM Modeler will still remain in the cloud. There is no option (and probably also no need) to have that on-premise.

Licensing / Pricing

WEM has two main ways of licensing their the product: their default hosted solutions  or an on-premise/private cloud setup. licensing for these two options is very different. For an on-premise/private cloud installation, the license fee is based on the number of applications you run.

The hosted solution is very different. ZoomBIM uses a pay-per-use scheme to charge for the WEM licenses. Cost is base on the number of 'events' the an application generates. An event is generated every time the application hits a node in the flowcharts. Only a few specific nodes (UI nodes, integration nodes, PDF generation, sending an email) are being used to calculate the number of events. The more events you generate, the cheaper the price per event.
This approach results in low (or no) cost when you don't use your application a lot, and higher cost when you use the application very intensively or with many users. The downside is that initially it is hard to predict cost. The upside: you only pay for what you use.

For the pay-per-use approach, the first 500 hundred events per month are currently free (a €50/month value). So small applications could be free of charge.

Conclusion

 


[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]


Quote
Share: