Can implement buildin server in my application , that support php/asp? - language-agnostic

i have application that generate php/html/asp web sites and i like to be able to
let the possibility to test the sites from within the application . is there any possibility to do that ?

Testing a web site is a pretty complicated task. While you could certainly write a web server and test engine, I'm not sure why you would want to. I'd suggest using IIS (since you need ASP) as your web server and configuring it to support PHP. Then use WatiN or Selenium, or something similar to test your sites.

I have to agree with tvanfosson. Including a full-fledged standalone web server, and one that supports both ASP and PHP, is a tall order. It can probably be done, but I don't know if you have the manpower or resources to do it.
Your best hope would probably be to include a self-configuring web server with your application. For PHP you could just use an open source web server like Apache with the Zend Engine. I'm not so sure how you could distribute an ASP interpreter with your software.
However, I think a more practical solution is to simply do what Dreamweaver and most other HTML editors/web development tools do. Since the user would likely already have access to a web server, you could just have them supply the login information for the SFTP/SCP and have the application upload the code to the remote or local server for testing.

Related

How to link Microsoft Access Database file with HTML

I created a table in Microsoft Access Database and I wanted to use this database in the website I built with HTML. The problem is that I don't know how to link the database file to my website (or to the form inside the body of the HTML file, I actually don't even know how it works...). Can you help me?
Honestly i don't know much about Microsoft Access Database . I assume it is like other databases.
But, if you would like information that you made within a database to be shown in html, it will take much more than just html. There are a few paths you can take depending on what you want to accomplish.
The first thing is that your Database (hereby named "DB") needs to be accessible online (where your web page would live). Unless Microsoft Access Database is a "Cloud based" DB.
I use Microsoft Sql Server Management Studio (MSSM) for by DB needs, but MongoDB is a cloud based solution.
With MSSM you can use Amazon Web Services to create a webserver that runs MSSM and is accessible via the cloud.
The second thing to do would be to be able to get information from your DB to your webpage. There may be an easier solution, which I will recommend. I use C# to do this, but I know it can also be done with Ruby, and NodeJS. Within either of those languages, you will need an Object Relational Mapper (ORM), to read the info from your DB and then Create,Read,Update or Delete (CRUD) to and from your DB. An example of an ORM is EntityFrameWork or Nhibernate.
But there is a different way. If you are ok with not using a DB, you can use XML or JSON files much the same way as a DB. Which is what I did.
My github repo
Check out my non-db solution
The short version is that all of your info in your DB can be represented using .JSON files.You can then use Javascript (or Jquery) to view and display (not update) the info.
if you need help with this, leave a way to contact you, it is too much to put here.
How you do this will depend on your web development tools.
And it also depends on your web hosting company.
Remember, a web server is just a computer. It not really much different of a computer then your desktop.
And on your desktop, if you want to use say word, then you need word installed.
And on your web server, if you want to write code say in python, or asp.net, then your web site computer has to support that type of programming language.
So a web site that connects to a database will mean that you have to write some code in the web programming system of your choice. (However, that choice is limited to the tools available on that web site just like if word or say FoxPro, or Access is installed on your desktop computer.
So quite a few web hosting companies do support using an Access database. Note that this is ONLY the data part they support (so just the tables, not VBA code or forms/reports).
So, you have to either:
Pick some web programming languages you like or are familiar with, and then
Choose a web hosting provider that supports the programming language(s) you want or like to use.
Or, check your current web hosting provider and learn the tools and programming language(s) that they currently support.
For example, a really common development stack (set of tools) is called LAMP.
Lamp = Linux, Apache, MySQL, PHP.
So, if they support LAMP, then the server is a Linux server, the web server system is Apache, and the database is MySQL, and the programming language is PHP.
Keep in mind that Access does not work on the LAMP stack. (It is not a windows server, and just like you can’t install Access on an Apple Mac, you can’t install the Access data drivers on a LAMP server.
However, in most cases you don’t really care, because your code going to be the same if you pull table data from SQL server, MySQL server, or a Access database. In all 3 cases, you going to write some SQL queries against that database (to be fair, the SQL flavors do vary a bit. So Access SQL is mostly the same as SQL server, but there are minor differences). Since your code can ONLY use the tables, then you tend to not care much if the tables are in Access or MySQL. Your SQL queries you write will be VERY similar no matter what database you use to hold the tables.
If your web hosting provider supports and uses asp.net, then that web server is a Microsoft server. These are the ones that support using Access databases. And asp.net programming languages can be c# or vb.net. VB.net is nice, since it reads and you can code very much like VBA code (the syntax is very similar). And web pages (web forms) have event models somewhat similar to what you use on the Access desktop.
So, HTML alone is not sufficient for writing code. HTML can lay out some text on a web page, but it does not allow you to write code with SQL and loops and everything you come to expect with a programming language like we have say in Access (VBA).
So what kind of web server is hosting your web pages will determine what programming languages are installed and can be used on the web computer.
Apache is a common web server. That web server can dish out HTML pages, but ALSO allow you to write code for the web page. It is the coding part that allows you to execute SQL against the database to return data, and shove it into the HTML page that you have created.
If you using an IBM server, then the web server is WebSphere.
And if you using ASP.net, then the web server is IIS (internet information services).
So there is “many” different kinds of web servers. While any of these web servers (the server that dishes out web pages to users) allow HTML, they all use different programming languages.
Also, because the database used (Access, MySQL, SQL server etc.) only holds the tables, so at the end of the day, it tends to not be a big deal if you use Access to hold some tables, or say using MySQL database to hold the tables.
However, say if you have experience with SQL server from Microsoft, and are comfortable with that system, then it makes sense to choose a web server (hosting provider) that supports SQL server, since you will be familiar with that database server more than say using MySQL or Oracle databases.
So, how you get your data into the HTML page will depend on what web programming language your web hosting provider supports.
So you either choose the tools your current web hosting provider supports, or you pick the web programming tools and languages you like, and find a web hosting provider that supports those programming languages.
So this is not different then say choosing Access. If you choose and like Access, then you can’t run your software on an Apple Mac.
And of course if you use some Mac programming language, then you can’t run that software on windows.
So, how this works is exactly the same for when you choose a web server. That web server will run windows software, or say often Linux software. So you have use and write code that the given web hosting system you are using supports.
A web server is just a computer with software installed. If you want to write some code to pull the data, then you write that code in some programming language that is installed and supporting on the web server system you are using.
So, web sites that dish out data are NOT just HTML but also will have code written to send SQL to the database, and pull that data into the web page. What programing you choose is quite much like what kind of ice cream you like. (You have lots of choices here).
So web hosting systems support HTML, but EVEN what features of HTML are supported will vary from hosting provider to provider.

AngularJs real time app with mysql server

Is it possible to build a realtime app using AngularJs with a mysql database?
I've been reading thousands of tutorials, but they are all focused on express, nodejs, etc.. didn't found any documentation on wheter it's possible or not. I tried to take a look at the socket.io docs, but still didn't found anything relevant to this question.
I didn't tried anything yet because of this. I use a webApp based on AngularJs on a apache server (local).
Where should i start to be able to build a real time app using these tools i have?
Do i really need to use a node/express server?
What are the main consideration i need to do before taking this step?
Is there any documentation i should read?
I need to do this real time because it involves product orders, call center, ticket system, etc.. So everytime there is a new ticket is opened/changed, new order arrives, etc.. I need to make the user aware of this, without the need to refresh the page.
Or if someone could give me a further explanation of this concept and how to get started, it will be great.
You can run angular on top of any backend, although most examples push towards REST. If you want your app to feel like a real time application, using WebSockets is a likely improvement.
WebSockets play nice with Angular, look at https://github.com/wilk/ng-websocket for example. A back-end in Node will work, but many other backend techs will do equally well.
Here is a decent tutorial using MySQL, NodeJS, and Angular: https://codeforgeek.com/2015/03/real-time-app-socket-io/
I recommend that you keep using a webserver like Apache (my personal preference is Nginx). You can proxy API and socket requests to Node, and serve static resources for the app from a folder.
Check out https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html if you stay with Apache. Check out http://nginx.org/en/docs/http/websocket.html is you go for nginx.
Without a webserver, you'll have to either:
serve your static resources with Node (polluting your server project with client code), or
work with different ports, risking the app becomes unusable in client environments, or
work with different domains, giving you a CORS head-ache.
Although I don't have much experience with Node, MySQL with Node.js should help you out a bit.
You'll want to move away from Apache if you want to do websocket stuff with Socket.io
Yes, it is possible to create a software with AngularJS in the front end and any other server side language that speaks to MySQL. Few months back I worked on a software with Java Spring Framework in the backend with MySQL database and AngularJS with bootstrap in the front end. You could start by following the MVC pattern, where your views can be served as AngularJS and your Controller can be in any server side code, with MySQL database.

VB.Net Silverlight project and MySQL

I am an experienced web programmer that has sadly had little experience with Web Services and technologies like Silverlight - I've done a lot of PHP, Javascript, CSS and MySQL. I recently have been assigned to learn Silverlight and connect a new app to a MySQL database. After a full week of trying to get this working, I'm really hoping someone can answer these questions:
I have found the MySQL .NET Connector - am I correct that this is not compatible with Silverlight and I do not need it?
I understand I must use a Web Service for this. Can I use WCF or WCF RIA, or am I best using a more traditional web service method like REST or SOAP?
What's the best web service method for many quick queries (such as updating a search as the user types in the keywords)
Do I have to use technology like LINQ, Entity SQL, ADO.NET Framework, or a stored procedure? Is one of these the best way to do it or should I just skip them all and create a simple web service?
What's the best source to learn how to do specifically Silverlight VB.NET and MySQL and learn to do it the best way as explained above. Everything I've found (books and websites) seems to be in C#, not a Silverlight product, or just uses built in SQL Server support. Very frustrating!
For our web app, we need to be able to give the buyer not just access to our client side application via a browser but also the server side so they can OPTIONALLY host the entire product themselves. We're hoping to have one installer for them on their server (so they wouldn't have to set up php or mysql to host the product for example). If I use a VB.NET website and web service, will that deploy as just an exe or dll so the user won't have to install anything special? Is installing mysql on their servers unavoidable? Please advise.
Thank you!
Wow, lots of questions in a single question.
You can't use this from Silverlight.
WCF and WCF RIA are both technologies while SOAP and REST are protocols that are both supported by WCF. So yes.
Quick queries require good code and a well tuned database, the protocol won't be an issue.
LINQ, Entity SQL, and ADO.Net are all database access technologies and have nothing to do with web services. You'll need to build a web service and then connect it to a database using some database access technology. Which one you use depends on what backend you have.
C# is much more common. Most of the MSDN content has VB.Net as well. MySQL isn't an MS technology. You can use MySQL with Entity Framework and then expose that using WCF RIA Services.
If you use VB.Net as the server side technology they will need to be running Windows with IIS and have .NET installed. They will also have to install MySQL if they want to host it.

Desktop programming language to connect to remote MySQL

A customer of mine asked me a better and faster solution to update it's real estate web site as he and his employees don't want to connect to the web site and update one by one the ads as they don't want to loose time waiting the normal latency of the internet.
I firstly solved the issue by building a PHP script that imported an Excel file into the web site's MySQL database and it worked greatly. But the problem were pictures that have still to be uploaded separately. I then wrote a PHP script that uploaded the pictures using ajax and drag&drop so the user could select multiple pictures and upload them at once. And this worked too, but the customer is still not completely satisfied as he says this solution is quite 'patched'.
I then thought about a desktop application - a kind of local database (could be SQLite) - that the user keeps updated locally and only at the end of the day the app connects to the remote server and updates the db and uploads the pictures.
My question is: what EASY desktop high level programming language I could use to do the job? Do you know any RAD (visual IDE) programming language able to connect to a remote mySQL server and upload data via a simple custom GUI?
I tried RealBasic and PureBasic but I did not work it out. I thought about building the app in PHP and then convert it to EXE but I did not tried yet.
Please don't suggest me Java, C or Delphy as I'm looking for something very easy.
Thank you
Have you considered a client side javascript/html app that syncs with the server, since you're already familiar with the platform? If one browser better supports what you want to do (Firefox has some extension perhaps vs Chrome, or whatever), than mandate that to run this app (rather than worrying about being portable across browsers).
All of the browsers can have client side storage now, and you can just do things locally, and finally push them to the server "all at once".
If your client is using a Windows platform, you could use IronPython (.NET), VB.NET, or C#. These all allow you to create windows/forms visually in Visual Studio. If you're not already familiar with the .NET platform I'm not sure how 'easy' this will be, but I think that's going to be true for most other platforms as well.
That being said, it sounds like your existing solution is probably the best idea - perhaps if you can make your solution feel less like a "patch" they will be satisfied.
No reason you can't use Purebasic if that's what you're comfortable with. There are HTTP file upload examples on the PB forums.
I've used Purebasic for years but I'd recommend spending the time to get to know C#/.NET - it's a world of difference and once you learn it stuff like this is pretty easy.

How do I save data on a server ("In the cloud")?

I am learning web application development. To save anything on a server, ("In the cloud," like Facebook and Google do) within a web application, do I need to use server side code, or can it be accomplished another way?
A web application typically saves data in a (SQL) database. You could start off with a DB software (mysql, postgres, etc.) running on the same server as your application. As you application scales, you can evaluate other options such as separating out the work load, memcache, etc.