GraphQL, workflow engine, multitenancy and more: what you will do with Delphi in 2021
Here at TMS, we are working on so much new exciting frameworks and features that I decided to share with you what we expect to bring to you in 2021! Photo by Rhett Wesley on Unsplash First, a disclaimer: this is not an official commitment. Some of the things listed here might be delayed or not be released at all. But of course, that’s not our intention, since we are listing it here. We want to (and probably will) release all of this in 2021. But, since unexpected things might happen, we can never guarantee what will happen in future. One second thing: thislist only covers what is coming around TMS Business line of products. There is much more to come from TMS in 2021! I was going to title this post as “TMS Business Roadmap for 2021”. But I thought that the current title brings more attention and curiosity. And it looks like it worked, thanks for coming! ?? Ok, jokes aside, another reason is that we still don’t know if all of the libraries, features and technologies listed here will be part of the TMS Business bundle, and the original title could be misleading. But regardless, everything listed here will for sure be smoothly integrated with TMS Business – either using ORM (TMS Aurelius) or REST/JSON framework (TMS XData), or any other core product, what is for sure is that everything listed here makes up a huge ecosystem around TMS Business technologies. An exciting year is coming ahead! So, without further ado, this is what we expect to bring to Delphi world this year, with TMS Business. GraphQL TMS is bringing GraphQL to Delphi! We have it already in a beta state, the core is complete, all is going fine. We still need to document everything, and add a few more features here and there, but it’s in a very advanced stage. This teaser video shows GraphQL server in action, written in Delphi! The frontend is GraphQL Playground JS framework, but still being served via a Delphi server. The relevant parts of the code used to build the server in the video are the following. First, the GraphQL schema is built: SchemaDocument := TGraphQLDocumentParser.ParseSchema( ‘type Query { hello(name: String!): String }’); Schema := TGraphQLSchemaBuilder.Build(SchemaDocument); Schema.SetResolver(‘Query’, ‘hello’, function(Args: TFieldResolverArgs): TValue begin Result := ‘Hello, ‘ + Args.GetArgument(‘name’).AsString; end ); Then, the endpoints for the GraphQL API and the GraphQL Playground are created: ADispatcher.AddModule( TGraphQLServerModule.Create(‘http://+:2001/tms/graphql’, FSchema)); ADispatcher.AddModule( TGraphQLPlaygroundModule.Create(‘http://+:2001/tms/playground’, ‘/tms/graphql’)); And that’s it for the “Hello, world” demo! TMS Auth A complete framework for adding authentication to your application, with user, roles and permissions management and providing features like login, registration, e-mail confirmation and more. Relying on Aurelius ORM and XData REST framework, with a few lines of code you will get all your database setup and have an authentication API server running, with lots of features. Well, it’s said one picture is worth a thousand words, so here is an example of the available API out of box: And these are screenshots of an existing app built with TMS Web Core which is already using TMS Auth for user registration and login: It will never been as easy to add user and permissions management and login system to your Delphi application and server! BPM Workflow A full workflow engine is […]
