Is it possible to host OptaWeb on IIS - optaplanner

I'm quite new when it comes to anything open-source. While I was able to successfully run OptaWeb by following the user guide, is there a way to implement/host OptaWeb on IIS? How?

No. If I recall correctly, Microsoft IIS does not support Java 11 or higher.
The optaweb-employee-rostering process is an HTTP server on it's own. Same for the new employee rostering quickstart with Quarkus. You can maybe have IIS redirect to those, not sure.

Related

Is it possible to run ASP.NET 5 site directly on Kestrel in Azure WebApps?

I have checked that in the web response the server is IIS when I deploy ASP.NET5 to azure web app, so I guess the IIS platform handler is used to redirect it to Kestrel. So I am wondering if it is possible to run directly on Kestrel, and what benefits/drawbacks will that have (probably regardless if it's in Azure or not). I suppose it will be a bit faster since IIS will be excluded from the pipline, but it should not be too much overhead I suppose...
On Azure Web App, you cannot bypass IIS.
But in the general case, you can definitely run Kestrel directly. It is after all just dnx web and it's exactly what the XPlat version (Linux, OSX) will end-up using (almost).
What you lose from not using IIS
Security (newer component compared to IIS)
Easy setup of SSL
Kernel module that handle file/cache and other things (kernel = faster)
Application monitoring/Keep-Alive (what happens if Kestrel crash)
Multiple hostnames single-port (80) reuse
etc.
What you gain from not using IIS
Complete control over your process
Higher overall performance
Simpler installation/execution
What you should do if you choose not to use IIS
If you are OK with the "lose" points, I would still go and host your Kestrel behind a reverse proxy or an NGINX server. Kestrel was made to be "production ready" but it's not NGINX or IIS.
It will not keep itself alive as far as I know.
If I missed anything, please let me know.
Your question is a bit ambiguous, as it asks at the same time about Azure Web Apps and about the general case. #Maxime answered the general part, so I'll answer the Azure Web App part.
It is not possible to bypass IIS in Azure Web Apps. Stack that normally run without IIS are typically handled using HttpPlatformHandler (as is the case for ASP.NET 5), or in the case of Node some variant of that (iisnode).

how can apache server can support websockets?

I'm new to websockets and playing with servers is not my thing. I'm using "clasic" Apache http server 2.2.22 and Geoserver on my project. Is there an easy-to-use (and install) patch or module for Apache, so it can support websockets? I'm not looking for a stand-alone server, because, IMHO, 3 servers on the same project is too much. I'm looking for a newbie-friendly patch. Any suggestions?
I'm searching the internet for some days and I could not figure out what is what.
How about jwebsockets? Does this works nicely with Apache?
Any other suggestions?
Thank you

Dynamics CRM 2011 and MVC application on same hostname/port in IIS 7.5

I have a Window Server 2008 R2 server running IIS 7.5. This server hosts a Dynamics CRM 2011 deployment on the default port 80. So, when accessing this website remotely, I'd go to e.g. http://my.domain.com and be redirected to http://my.domain.com/MyOrganization/main.aspx
I have an MVC 4 web application too, running in a different app pool on the same IIS instance. I'd like to be able to reach this application on the same port and hostname, but using a distinct sub-path such as http://my.domain.com/SomeCustomPath/
How do I configure IIS (and/or CRM if necessary) to achieve this?
Really bad idea! I don't know how to accomplish what you are asking off the top of my head, but I do know that it would be completely unsupported by Microsoft. You also open yourself up to possible upgrade issues if Update Rollups update IIS settings and handlers. This solution is also not portable - if you ever decide to go with CRM Online, this would obviously not be possible. And finally, when something breaks, AND SOMETHING ALWAYS BREAKS, you'll always have this weird unsupported customization nagging in the back of your head (are we sure that custom handler or mapping has nothing to do with this problem?).
Why not just use another subdomain? Have your DNS guys set up http://yourapp.domain.com and host your MVC app there. You will retain complete support from Microsoft, not worry about upgrades, and if you ever do move to CRM Online you don't need to change anything!

Configure a Port with an SSL Certificate w\o using Httpcfg

When one develops a self-hosted WCF http server,
one of the steps needed is to bind an SSL certificate to a port number:
httpcfg set ssl -i 0.0.0.0:8012 -h 0000000000003ed9cd0c315bbb6dc1c08da5e6
as stated in:
http://msdn.microsoft.com/en-us/library/ms733791.aspx
However,
It is hardly expected that in my deployment environment one would be able to do it.
(I don't even know if the httpcfg.exe is redistributable)
Moreover, if the user changed the port after he installed the product then he will need to run the command again....
how can this step be automated pro grammatically?
preferably in C# but if it can only be done in C++ (direct access to the Http Server API)
then I will manage :)
Have a look here: an open source C# UI for configuring HTTP.SYS that directly drives the API. This should get you an idea of the code necessary for configuring the certs.
For those tuning in a couple of years later:
This article from Mike Bouck's RAM has a clean C# wrapper for the http.sys api.
Таке а look on https://github.com/segor/SslCertBinding.Net
It also has nuget available
Install-Package SslCertBinding.Net
and does what you need perfectly. Thanks to the author.

How can I use net.tcp without IIS?

I have a web site and build a wcf service in it. I can run the code by calling it from a test page in the web site. The web site is ran by the vs2010 development server.
I do have IIS 7 but never use it.
Now I want to use the NetTcpBinding instead of BasicHttpBinding, everyone says it should be enabled in IIS, but how can this be done without using IIS and keeping everything in 1 project?
Thanks for any help
edit: A Windows service would be a solution, but that would mean adding a project to the solution, I really want to keep everything in 1 website, took me quite some time to get the service in the website in the first place.
This is about my own test version of the website, the production server is out of my reach. The service must be expanded by other developers later on it's bad if they have to run IIS just to test the service.
One way is to host the WCF service in a Windows Service - see How to: Host WCF in a Windows Service Using TCP for sample code.
Are you talking about how to develop without using IIS7 or how to put the service into a production environment without IIS7?
If it's the latter, then Stuart's answer is correct, but otherwise I would suggest that you start to develop using the web server that you will eventually be hosting the web site/service on.
Hosting in IIS7 has several advantages over hosting in a Windows Service such as fault tolerance and process isolation already built in.
Thanks for the replies guys, it looks like I have 3 options:
1. Host the service in a seperate project.
2. Host the website in IIS.
3. Use HTTPS, also secure.
PS: My development environment is very different from production :(
In development I have unit testing and in production there are old ASP pages, that I can't even acces, but sometimes must refer to...