XPO - 2.7M Downloads, Visual Studio 2022 Support (Visual Designer) Coming Soon, Secure Web API Service Generation Made Easier

XPO Team Blog
09 November 2021

XPO ORM – It’s Free and Will Remain Free

A quick reminder: XPO ORM is available free-of-charge. To obtain your free copy, point your browser to: https://www.nuget.org/packages/DevExpress.Xpo (and feel free to share this link with friends/colleagues).

Before I describe our near-term plans for XPO ORM, I’d like to quickly mention a few enhancements of note for the ever-evolving .NET world:

As you probably know, XPO is available for use across all major .NET UI platforms including WinForms, WPF, ASP.NET, Xamarin, MAUI, and XAF (GitHub tutorials).

XPO is also at the core of many commercial DevExpress products including BI DashboardDevExpress Reports, XAF and its security module.

Visual Studio 2022 Support for the ORM Data Model Designer Coming Soon (in v21.2.4)

As you may already know from our recent announcement, we will support XPO's Data Model Designer in v21.2.4 (we are waiting for stable versions of the Modeling SDK and other tooling - available in the official Visual Studio 2022 release). In the meantime, you can:

  • continue to use design-time functionality in Visual Studio 2019;
  • reuse our prebuilt CodeRush templates in Visual Studio 2022 to quickly generate your XPO data model in code.

.NET 6 Support

XPO already supports .NET 6 (because XPO assemblies target .NET Standard 2.0). Many users have successfully incorporated XPO in their .NET 6 projects already - please let us know if you encounter any issues in this regard.

1-Click Solution to Create Secure OData v4 API Services from an XPO Data Model

Problem

As I noted above, XPO includes APIs to generate CRUD or OData v4 services (powered by ASP.NET Core Web API). These services, however, do not include any data protection or authorization functionality by default. Authorization and authentication need to be implemented on their own (just like with any other .NET ORM, including Entity Framework).

But let's be honest: for most (myself included), creating a robust security system is a serious and costly undertaking. This is especially true if your enterprise requires field-tested Role-Based Access Control (RBAC) and advanced authentication based on JWT + OAuth2 for Azure AD. Yes, too many acronyms and SDK to master, too many `principals`, `access tokens`, and `claims` to remember (brrr…my apologies to ASP.NET Core Identity creators and experts, but I personally hate this complexity. If people reading this are the same down-to-earth .NET developers like I am, please add "+1" in the comments section below).

A long-term customer and MVP, Joche Ojeda, explained the complexity problem much better than I can:

Joche Ojeda, Business Owner at BitFrameworksOne of the things I ask my customers is 'do you really want to develop a security system from scratch?' Experience tells me that when someone really wants to build a security system from scratch, it is because they have never had to build one before. Fact is that if you have built a security system from scratch, you'll definitely want to avoid it.

Solution

XAF's Solution Wizard v21.2 includes a "1-Click" solution to create ASP.NET Core Web/HTTP API services (via OData v4 and Swagger/OpenAPI). This service allows developers to reuse ORM-based application data, logic, and modules (like CRUD, security authorization and authentication) within non-XAF apps. You can use OAuth2, JWT or custom strategies for authentication and tools like Postman or Swagger for API testing.

How It Works

To test this automatic API scaffolding, XPO users can:

1. Register a free offer at https://www.devexpress.com/security-api-free. When you register for a free DevExpress product, you can use your registered product for as long as your needs dictate. Should an update be made available free-of-charge, you will be notified via email or this website. Updates that are issued free-of-charge can also be used indefinitely.

2. Download and run the DevExpress Unified Component Installer to register XAF's Solution Wizard within Visual Studio 2019 (Visual Studio 2022 support will be available soon - v21.2.4+); 

3. Create a new application with the Web API using XAF's Solution Wizard, and register your XPO classes for interoperability needs. Run the service and it will display the Swagger UI for API testing automatically.

NOTE: should you prefer to implement secure Web API services with XPO or EF Core 5 manually, please check our GitHub examples.

Future Plans

  • Our Web API Service project template (for XPO users) ships as a preview in v21.2. We plan to officially release this functionality for XPO in May, 2022 (v22.1). The next major version (v22.2) should also support EF Core 6 for data access. Finally, we expect to support new .NET 6-related features and optimize assembly dependencies in 2022.
  • We also want to publish this Web API Service template as VSIX in Visual Studio Marketplace for everyone who registered for our free offer (we will eliminate the need to download and run the DevExpress Unified Component Installer). 
  • We will keep XPO connection providers up to date with the latest database engine versions (Oracle, SQL Server, MySQL, PostreSQL, Firebird, etc.) and extend support based on user feedback. We will also expand XPO connection provider support with SAP HANA.

Your Feedback Matters

Thank you for your continued support and your commitment to XPO. Feel free to post your thoughts/comments below and let us know what you think of XPO and where you’d like to see us take XPO in 2022.

FREE DevExpress Xamarin UI Controls

Deliver high-impact native mobile apps with our feature-rich Data Grid, Scheduler, Chart, TabView, Editors, and utility controls. Reserve your free copy today!
Yahya
Yahya
+1
9 November 2021
Martin Pelletier
Martin Pelletier
+1
9 November 2021
FloridaDevs
FloridaDevs
+1
10 November 2021
Andreas Mummenhoff
Andreas Mummenhoff
+1
10 November 2021
Marc Greiner (DevExpress MVP)
Marc Greiner (DevExpress MVP)
+1
10 November 2021
Joche Ojeda
Jose Javier Columbie
+1
10 November 2021
Tomaz Cebasek
Tomaz Cebasek
+1
10 November 2021
muhamad astrid
muhamad astrid
+1
10 November 2021
Calin Marinescu_1
Calin Marinescu
+1
10 November 2021
Mario Blatarić
Mario Blatarić

+1

Very nice, thanks!

11 November 2021
郑 天生
郑 天生
+1
11 November 2021
DÖNÜŞ ŞENEL
Dönüş ŞENEL
+2
11 November 2021
Stefano Paparesta
Stefano Paparesta
+3
11 November 2021
Sandro.CODTEC
Sandro.CODTEC
+1
11 November 2021
Christian Benner
Christian Benner
+1
12 November 2021
Paolo KALC
Paolo KALC
+1
13 November 2021
Customer56620
Craig Chang
+1
18 November 2021
John E. Salichos
John E. Salichos
x2
20 November 2021
Xian
Xian

Hi Dennis!

First: +1
:-)


When will XPO directly support SQL Temporal Tables?
EF got it with .NET 6. It would be absolutely helpful if the XPO methods could all handle temporal queries.
This would be a killer feature.

Thx, Christian

22 November 2021
Sandro.CODTEC
Sandro.CODTEC

+1

+10

+100

+1000

...

25 November 2021

Please login or register to post comments.