Web Development with BIM 360 and Forge - Backend - autodesk-forge

Anybody recommend any backends or frameworks for Forge?
I'm seeing resources for Nodejs, PHP, .Net Core and others which are for the backend.
Are any of these any more convenient or dependable with Forge than the others?
I also know Python and thought Django would be another option but I don't see too many resources on the Python side of things.
Any perspectives on the tools (pro or con) would be great.
The more I understand the kinds of tech stacks, user projects and ways people use Forge to expand on BIM 360 and other APIs the more it can help me and the community get familiar with the service.

This relies completely on the excisting stack used by your company. Forge is a collection of API's accessible via endpoints.
Any library just abstracts the calls away in a accesible way. I've had moderate succes with the dotnet core Forge package, it works very well but you are giving away some strict typing.
If you dont wanna be bound by abstractions made by other people, create your own ! This will ultimately lead to the most lightweight solution since you are only creating what you need.
Cheers

Related

Training and experimentation system for developing software interfacing with SAP ERP

I am trying to find a good place to start for a potentially SAP related project.
Suppose I wanted to develop stand-alone software that could connect with an SAP ERP (S4/HANA) system and analyze material management and accounting data. What resources would I need to accomplish that? Where could I get an SDK/the proper training for this? How would I get a system to experiment on? I've tried Googling this question but there doesn't seem to be clear authoritative information on this and what I find also seems to be mostly about SAP Business One, which is a different product.
Insights would be much appreciated!
Thank you in advance,
Joshua
You must use REST/OData to connect to ECC and Hana S/4.
Currently, SAP has around 800+ REST APIs for SD/MM/PP/FICO, and almost every quarter, new APIs are added to Hana S/4.
You can check all the available APIs # https://api.sap.com/package/SAPS4HANACloud/all
You can check out the demo below if you want to view an application that provides similar functionalities.
https://demo.inoerp.com:8090
Select Hana SandBox. This is a single app that provides similar functionalities for Oracle, SAP, Dynamics etc.
If you need an API that is not yet published. You can also create your own APIs using ABAP
Regarding technology - You can use anything Java(Springboot/ADF), C# .net, node.js. You will be fine as long as you stay away from the SAP technology stack (i.e., ABAP and UI5 :-))

SpringBoot-MySQL or ExpressJS-MongoDB which one is best for building rest API of online BookStore?

How are you all? I'm a beginner with the web programming. I am planning to develop my personal e-commerce Bookstore for myself. I've basic knowledge of ReactJS, ExpressJS, Spring MVC, MongoDB, and Mysql. I've already done some basic project in ReactJS, Spring MVC-MySQL and Express-MongoDB like Personal Diary, Cost management system, School management system etc. My future plan is to build a native mobile app for this Bookstore. I am a little bit confused to select the language and framework. I've some question and need experts opinion and suggestion like you.
ReactJS or NextJS(Server Side Rendering), which one will best for the frontend of this Bookstore?
Do I have any possibility to face any problem in SEO in the SPA?
Which Framework and Database will best for building the backend for better performance and lower hosting cost?
By using that backend service, can I use the same API endpoint to build a native app?
Any alternative technology to develop the bookstore?
Thank you all in advance.
-ReactJS has a vibrant and big community, so you would find plenty of support
-As far as i understand type of language for the front-end or SPA's shouldn't affect your SEO
-Java is rock solid, battle tested whereas NodeJs is new and a lot of experiments still going around it. Although it is claimed to be faster and easier to work with.
-Cost ? the cheapest would be PHP Apache shared hosting. Java and or JavaScript will both cost almost the same on platforms like heroku or digital ocean.
-Yes you should be able to build native apps using the same endpoints.
-With what you know do not look for alternate technologies. (What you have is more than enough)
-Moral of the story - If you are alone doing everything, JavaScript can save you a lot of time and effort. (Building web-apps, hybrid mobiles apps and server side APIs, all using JavaScript), however if you choose Java for server side, that knowledge may help you build a native android app and then you will need to learn Swift for a native IOS app and JavaScript anyway for web apps.
Everything boils down to what you are doing and how you are doing it.
All the best!

Autodesk Forge - Best training for transitioning from desktop .Net coding

I have background in Inventor/Revit API development only, and need to learn enough JS to be able to work comfortably with the Forge APIs. I'll be booking myself into a JS training course to learn general skills, but what topics/modules must I definitely cover to have a solid foundation for Forge API development. I'll be working with BOM data, viewers and possibly web configurators.
Many thanks for your help.
We're a .Net shop that recently implemented the Forge Viewer for a client with Inventor Files. We built our service on top of Azure Functions and utilized as much .Net C# code as possible, as it is where we have the most experience and comfortability. The provided .Net SDK is very helpful: https://www.nuget.org/packages/Autodesk.Forge/.
The only API that you can't do entirely in .Net is the Viewer API. However, to get started I was able to use boilerplate code from the provided examples and get the models loading. From there I had our web developers get involved to handle the more extensive javascript programming for me.
Feel free to bounce any questions you may have off of me. We've just finished going down this road and it is very rewarding, but somewhat challenging at times for us .Net developers.
You need the JavaScript, as you already know. Take some time to improve security and OAuth authentication workflow. This sample includes most of it.
In most cases, you'll need a hybrid desktop app that can connect to the cloud, the image below (from the blog post) shows a generic approach for the architecture using Autodesk Forge (or any other cloud APIs).

Is it possible to use BIM360 Team (formerly A360) commenting and markup tools in Forge?

BIM 360 Team has a nice built-in commenting tool that tracks issues. Is it possible if we can use the exact same feature inside Forge Viewer API? (my question may sound convoluted because I'm not a software engineer..) For any one who doesn't know the feature, please see below article. Any help is much appreciated.
https://blog.a360.autodesk.com/a360-release-enhanced-commenting-and-markup-tools/
Thanks!
Yes, it is definitely possible. The Autodesk development teams make use of Forge web services to implement A360 features. You have access to the same web services. You may even be able to peruse and analyse their code in the JavaScript debugger to see how they implement the client side user interface on top of the server side web service. In this case, the web service being used is the Issues API. More on that topic here:
http://thebuildingcoder.typepad.com/blog/2016/11/bim-360-docs-issues-forge-devday-and-accelerator.html#5

Framework for Mapserver GIS APP

I'm trying to display on the web (read as create a GIS Web app) topo data layers stored in a POSTGIS/POSTGRES spatial database using mapserver. My problem is, although i happened to come across different gis frameworks that I could use, my lack of experience on using mapserver in the first place makes me indecisive of which framework to use. So what is the easiest framework out there to use? I'm using a MS4W pre-packaged mapserver binaries, and i've installed almost all of the additional packages (frameworks) from their site.
Thanks for the help!:) I
Mapfish (I think python and C based and ideal with mapserver)
GeoServer (java based)
Featureserver (RESTful, light and effective)
Other interesting links:
GEOEXT provides an excellent extension for openlayers
Boston GIS provides excellent tutorials so does Paul Ramsey and Chris Schmidt
The mother GIS - Free Open Source Software OSGEO
FreeGIS - Continually updated list of free and related GIS software
I've used Geoserver and Feature server on multiple occasions, and never got deep into mapserver. I know that Mapserver has a big community and they love helping out, check them out on IRC and their mailing list.
We have developed an interface called OWGIS for displaying GIS data.
Website: http://www.owgis.org
Description:
The OWGIS (Open WebGIS) is an OpenSource Java Servlets web application that creates WebGIS sites by automatically writing HTML and JavaScript code. The WebGIS sites are configured by XML files that define which layers will be displayed on the maps as well as the texts to be used on the interface. OWGIS's most notable features include animations, veritcal profiles and vertical transects, various color palettes, dynamic maps, downloadable data, and multilingual interfaces. All these features are created automatically without any additional web programming.
Since you already got MS4W installed. The easiest way to publish a map service from Postgres is from MapServer which is component of the ms4w.
To start publish wms from MapServer,
1) Read thru the documentation of Mapfile which is the service definition file of how the WMS configured.
2) Read the ogr postgis connection documentation. You would be able to write the database connection follow the instruction pretty easily.
3) Once you got the valid Mapfile with correct postgis connection string info, you are able to publish the WMS for your topos.
MapServer is very powerful and easy to use. The file based service provide a lot of flexibility which is critical when you need publish something dynamically.
GeoServer is very popular too and has a gui which is extremely easy to use, by several click and your services are ready to go.
Other solutions are also available as well. But consider the community user base and tech support. I would recommend using MapServer or Geoserver for your case. We had our Mapserver holding USGS topo services as well, which is very stable,flexible and salable so just some FYI.
Hope it is helpful.