We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

State of deegree: The 2023 update

00:00

Formal Metadata

Title
State of deegree: The 2023 update
Title of Series
Number of Parts
266
Author
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
FOSS4G 2023 Prizren Initiated in 2002, the OSGeo project deegree has developed to an important and mature building block for Spatial Data Infrastructures (SDI) over the last 20 years. The project provides 9 official Reference Implementations of OGC Standards such as GML, WFS, WMS, and OGC API - Features. In this talk, the presenter will focus on the recent improvements available in deegree webservices v3.5 and the updated roadmap for the next version which lists support of Java 17. They will also show how the OGC Standards OGC API - Features Core and CRS have been implemented and can be used with existing configurations. Finally, they will present the future directions of the project and what developments are currently planned.
State of matterProject 2002Open sourceMenu (computing)Execution unitStandard deviationImplementationWikiView (database)Service (economics)Java appletInformationMatrix (mathematics)Server (computing)Revision controlConfiguration spaceComputer fileMathematical optimizationComputer-generated imageryDegree (graph theory)Degree (graph theory)Open sourceData structureMathematicsSoftwareSoftware developerProjective planeRevision controlMathematical optimizationConfiguration spaceStandard deviationComputer fileServer (computing)User interfaceBitPlanningVideo gameSoftware testingSoftware bugGeometryWebsiteLatent heatVideoconferencingFunction (mathematics)WikiLine (geometry)ImplementationJava appletCASE <Informatik>Functional (mathematics)NumberLattice (order)Ocean currentInformation securityFlow separationRegular graphMatrix (mathematics)Computer programInformation technology consultingFront and back endsCore dumpMereologyGreatest elementSelectivity (electronic)Service (economics)Right angleStapeldateiWordMedical imagingSet (mathematics)DatabaseNeuroinformatikPatch (Unix)Computer animationLecture/Conference
Computer-generated imageryCommon Language InfrastructureConfiguration spaceComputer fileScripting languageMiniDiscTotal S.A.Extension (kinesiology)MetadataRule of inferenceElectric currentCore dumpCodierung <Programmierung>MereologyImplementationRepository (publishing)Revision controlJava appletDemo (music)InformationSpacetimeAttribute grammarView (database)Software testingSource codeMathematicsSoftware frameworkModul <Datentyp>SoftwareSoftware developerWikiGradientLink (knot theory)TwitterDegree (graph theory)MereologyNeuroinformatikData storage deviceCartesian coordinate systemLink (knot theory)ImplementationInformationBootingComputer fileGoodness of fitSet (mathematics)Line (geometry)Database2 (number)Demo (music)Projective planeInformation securitySoftware testingRevision controlStandard deviationLanding pageModulare ProgrammierungRule of inferenceSource codeSoftware frameworkModule (mathematics)Codierung <Programmierung>View (database)Suite (music)MetadataService (economics)Configuration spaceBitPoint (geometry)WebsiteLevel (video gaming)Basis <Mathematik>Client (computing)Classical physicsJava appletRepository (publishing)Web pageCollaborationismRight angleAttribute grammarMathematicsCASE <Informatik>Videoconferencing1 (number)Slide ruleHierarchyConnected spaceLatent heatPerfect groupDrop (liquid)Ocean currentMilitary baseComputer animationXML
Transcript: English(auto-generated)
Hello everyone, my name is Dirk Stenger, I'm from Latlon in Bonn, Germany. I'm giving you an update about the current status of the software project degree.
This is a short agenda, so first I'm introducing myself and my company Latlon in a few words. Then I give you a short introduction about the degree project itself. Of course, it's an official OSGEO project. Afterwards, I'm talking about the current activities we are currently working on.
One big topic is that we switched from version 3.4 to 3.5, so it's like a major switch. There are many changes, I'm talking about that.
I'm introducing a new tool, it's called Degree GML Tool CLI. It's quite interesting to publish large sets of GML data with a degree. It's also quite easy to use. Finally, I'm talking about the Degree OGC API.
We started to implement the new standards, which for example includes the... The Degree OGC API is about the feature standards, we implemented it and already published it later on. Then I'm giving an outlook, what are we doing next, what will be part of version 3.6.
As I already said, my name is Dirk Stenger, I'm working at Latlon. I'm an active committer of degree and an active community member, so I participate in all degree meetings. Also, I'm the technical lead of the OGC compliance tools, which is the OGC site program.
Latlon is quite an old company, it has over 20 years of open source experience. Our main business consulting development support of degree, also we are an OGC technical member and site member.
Degree is of course an open source software for spatial data infrastructure. It's a backend software, a server software, which implements several OGC specifications.
For example, WMS, WFS and OGC API features. The project was started in 2002, so it just had its 20th anniversary, so it's a very old project. Since 2010, it's an OSG project, the open source license is LGPL 2.1.
There's a screenshot of the OSGEO website and the degree project. This is a selection of supported OGC standards, so you can use a degree to publish your Inspire services.
The full Inspire stack is supported, including WMS 1.3, WMTS 1.0, WFS 2.0 and CSW 2.0. It's possible to publish your Inspire data things with a degree.
Also, as I already said, we are supporting the new standard OGC API features. This is a special thing of degree, so we are trying to be an OGC reference implementation for as many standards as possible. On the right, you can see the compliance patches of the OGC.
You can see we are referencing implementation for GML, WFS versions, WMS versions, WMTS. The new thing at the bottom for degree OGC API features, and there we are implementing part one and part two.
In both cases, we are referencing implementation. Of course, you can find degree at GitHub, so you're welcome to go there. There are open issues, so we use all functionalities of GitHub. Interesting is that you see there are already many, many forks, stars, watchers,
and we have 28 contributors, which is quite good. I would say the core contributors are four or five people.
You can see we have just had one bug fix released in 2023. Normally, we would have more, but this is because we are actively working on the release 3.5, and we really want to publish it. I have some numbers for the latest degree releases.
3.5, which will be the next release, is about to be released. We contain 100 new enhancements and 35 bug fixes compared to 3.4.32, which was not the latest, but the previous bug fix release.
There are some numbers for the latest bug fix release. It's, of course, very small because we just fixed some things of 3.4.32. The version 3.4 degree was the major line for many, many years,
I think five, six, seven years, but this line finally comes to an end. We already marked this as end of regular releases. That means we are just merging pull requests,
which include very important bug fixes or security fixes, but soon the end of life will be reached and then no new release of 3.4 will be created. This was originally scheduled to December 23,
but we want to adjust it a little bit when 3.5 is released. I think we said six months later, the end of life of 3.4 is reached. The current release version is 3.5. Actually, our plan was to finish it to FOSFOD-V,
and we already created a release candidate, so you can already download it, test it, and do everything. Of course, we created it, some testers tested it, and unfortunately there's one bug in the user interface we still want to fix.
That is the one thing which is blocking the final release. Everything else looks perfect, so you can really already download it and try it out. In the next weeks, definitely there will be the official 3.5. Of course, this will be announced on several channels.
One of the important things of 3.5 is that we updated it to Java 11, Comcast 9. In the matrix, you can see the 3.4 line is still in Java 8, which is quite outdated in Tomcat 8.5.
This was a must to go to Java 11 and Tomcat 9, which are, again, already almost outdated. Here you can already see for the next release, 3.6, we are planning Java 17 and Tomcat 10, 10.1.
This is one very important thing to enable for current software versions. Also, I want to highlight some things, some enhancements or some features we implemented in 3.5.
There's a GeoJSON output for WFS 20. We updated the supported databases, supported PostgreSQL and PostGIS databases. We did a lot of performance optimization.
The configuration of degree is like hold in XML files. We really improved the structure of those and not the structure of the XML files itself, but the structure of the schema files.
Also, there's an improved support for GML 3.2.2. If you have a running 3.4 version of degree and you want to go up to 3.5, there are some changes required,
but we summarized those on a Wiki page. Also, a very easy way to try out the release candidate of 3.5 is to just use our Docker Hub account, pull the latest image, start it,
and then you have it running on your local computer. Now I come to the degree GML2 CLI. As I already said, it's a tool which enables you.
It contains several tools which enable you to first take a GML application schema, put it into the tool, and the tool is generating a degree SQL feature store and the DDL for the database. Actually, it's more or less generating the complete configuration.
You need to use this application schema with degree. You can try it out, for example, with Inspire schemas if you want to display those with degree.
The good thing, it's very easy to use, and it's just a few seconds and you have your ready-running degree configuration. Of course, there are still some adjustments you have to do, but the basic configuration to access the DDL is generated.
The second tool is the GML Loader. It was created to import large datasets of GML files. You just reference the large GML file, and then it's supported via degree to the database
and to the schema you generated in the previous step. We tested it with very large datasets of over 1 gigabytes of data, and it worked perfectly. For this, there's an example workflow in the cookbook,
which was created for the European soil project. This is an example based on the Inspire soil theme dataset. You're welcome to check that out. Now I come to the degree OGC API features implementation.
You're probably familiar with it. It's in standard since almost four years. It was developed on GitHub. It's also a collaborative standard.
We really like that. We were already starting developing it when the standard was not published, so we could always go to the repository of the standard, ask questions, or drop issues. That was a really good thing.
Currently, we are supporting the features specification. As I already said in the beginning, part one and part two in both cases, we are reference implementation. Supported encodings are the most common ones. GeoJSON, JSON, HTML, GML.
We have a nice map preview in the HTML view. There's the capability of bulk downloads of linked metadata. Currently, we get a lot of pull requests, which are about the support of the AP design rules of the Netherlands.
That's interesting for persons who actually come from the Netherlands. As I already said, there is no final release of the current status of a degree OTC API yet. There's just a snapshot version you can already download.
The link is already on the degree website. You can also try it out. The main thing is that the degree OTC API implementation bases on degree 3.5. Our first step is to finish 3.5 to finally release it.
Then we can go to degree OTC API version 1.3 and release that one as well. Hopefully, it's also just a matter of weeks until this will finally be released. There's already a public demo available. This is actually the link to the reference implementation
we submitted to the OTC. You can check that out and use it with your client if you want to.
Also, there's a ready-to-go workspace available on GitHub. You can see the link there. The important thing about it is that if you're already a degree user, a classic degree user, for example, if you publish your WFS services with a degree, you can just use the workspace,
add one additional file, and publish the same data under OTC API features. I think that's a very good thing for degree users who are already using degree to switch really easy to the new line of standards.
More information is behind the links. This is a screenshot of the HTML view of the OTC API features implementation.
On the right, you can see the map. On the left, there are the attributes and the values displayed. You can page through the different features. Also, maybe this is interesting.
At the top, you have buttons to go to different encodings. For example, you can display the same in GML or in GeoJSON. It's very easy to switch between the encodings. Also, the hierarchy of the API is displayed here.
In this slide, you see how to use OTC API features with QGIS. Of course, it's also very easy. You just open the create a new... Here, it still says WFS connection, but you can just enter the landing page of the degree OTC API,
click on connect, and then it displays the data. Now, I come to the outlook, what is planned for degree version 3.6.
One thing I already said, which is quite important to update Java and Tomcat again because then we are really at the latest versions of both software packages. This includes an update of JXB. Also, we have to change package names from Java to Jakarta.
A bit of work to do. The second thing we really want to do is to enable view packages at data source. There is already a pull request, but this still has to be adjusted a little bit. So, it will be part of 3.6 then.
Also, we want to change the logging framework. Currently, we're using Log4j, but it had many security issues, so we want to probably go to log back, but it's not 100% sure yet. We want to add the module info to all degree modules.
Also, we want to improve the war files of degrees. Currently, there's just one big war file including everything. This, of course, is not very good for security if you have too much in your application, so we really want to generate a skinny war file,
which concentrates on security and remove everything, which is not commonly used. The last thing we want to do is we want to replace the current compliance tests of degree with the latest versions of the OGC test suites.
Also, there are other things. You can view them in the linked issue. As always, our project is a community project, so we labeled many issues with contributions welcome
or funding welcome. If you want to help, you can always contact us, check our issue tracker. It has enough to do, as always. One new thing, we just recreated a degree t-shirt. If you want to get some merchandise of degree,
you're welcome to order it. It's part of the official OSGEO shop, so you can find it there. Yeah, that is the end of my presentation, so thank you for listening.