I would like to read data from Oracle database and need to present (report) in browser (like HTML or other UI technology)
What would be the best approach to do this?
As of now I'm thinking these following approach:
1) JDBC (To read from Oracle) & Java Script to present
2) NodeJS (node-oracledb driver) & AngularJS to present
3) Python (cx_Oracle to interact with DB) & Flask to present it on browser
What do you think which would be the best approach among this that is most suitable and faster too?
Any approach other than this to handle this scenario is appreciated.
(EDIT: I've Java background and alongside I'd want to learn scripting language like Python or powerful client-side and server-side framework like Angularjs or Node.js or other similar framework, technology - So I'm open for anything but needs to be faster and scalable.)
JDBC (To read from Oracle) & Java Script to present
"Java Script" is one word: JavaScript.
What would be the best approach to do this?
"best" is relative and subjective. Let's start with this: Do you know Java, JavaScript, or Python? Start with the one you know best. Build something and then reevaluate based on what you know.
Don't know any of those? I'd start with Node.js - but I'm biased! :) The Node.js community is pretty awesome and it helps to only need one language in the front-end and mid-tier environments.
If you're new to JavaScript, reconsider AngularJS (the community favors TypeScript so you'll be pushed to adopt that too). Take a look at Vue.js instead: https://vuejs.org/
Related
My end-of-term assignment is to build a web-based student management application which connects to a MySQL database. However, the teacher does not allow us to use JS/ node because he says it is not OOP. Besides from JS, the members in our group can only use Java.
Therefore, I want to ask if it's it possible to do this assignment with just Java. If it is, what are the things I need to know and learn? Else, is it possible to learn PHP in 1 month for this kind of project?
Thank you very much for reading!
Yes it is possible to write a webserver in Java without any external (i.e. not Java SE) libraries. All you need to do is:
Learn about Socket and ServerSocket and the SSL stack, and ...
Spend a few days reading the HTTP specification in sufficient detail to understand what the protocol requires.
Spend a few more days implementing a server-side HTTP protocol stack and so on.
Which is ... a lot of effort, and probably a waste of you / your team's time.
If you are going to implement this in Java, you would be much better off either learning Spring / SpringMVC / SpringBoot, or learning Servlets and/or JSPs. They deal with the protocol side for you, and (more or less) leave you to focus on the aspects that are specific to your webapp.
These technologies (or equivalents) are what you are likely to use when you graduate.
If the other members of your team already know Java, that would be an obvious good reason to use it.
In short, there are 3 reasons to use Java + the above technologies:
Less effort
Less learning for your other team members1
You / they will be learning more immediately useful things.
PHP would be another alternative, though if your teachers are "down" on Javascript for being "not OO enough", they are probably unlikely to think well of PHP either.
On the topic of whether Javascript is OO or not, read this:
Is JavaScript object-oriented?
Read it and make up your own mind.
1 - How about volunteering to write all of the project's documentation so that you don't have to learn Java. No? You want to learn Java, don't you!
Sure you can write a web app in Java. Depending on what you're allowed to use there are tons of options. Just a short overview, further down means you need more 3rd party code but productivity goes up:
Build in on the JDK only. You'll need to build the WebServer on your own and compose HTML... (Only do this if requirements are strictly forbidding 3rd party libraries)
Use a servlet container like tomcat. You'll still have to build HTML on your own but request handling is mostly done for you. (Use this if a servlet container is all you're allowed to use)
Use a templating engine like JSP, Thymeleafe, Velocity. You will be able to build web pages quite easily. (This would already work conveniently, yet there are still better options)
Use an web application framework. This will take most boilerplate from you and allow you to use advanced concepts with little effort. There are multiple frameworks to choose from. I prefer Spring Boot and would recommend to start with s.th. like this (This will automatically provide much of what is asked from you, so check if you can use such a framework).
I have a project that is built on Applets and that also comprises of Corba calls to backend (which is in C language). Now I need to remove Applets and convert it into JSP and Javascript combination. But the code seems to be complex as it also consist of backend calls. I am facing problem in figuring out what is to be converted in JSP and what in Javascript.
If I convert all the applet logic in Javascript, how will I pass the javascript data to the Java objects to pass it as input for corba calls.
I can't implement all the logic in JSP as the existing logic depends on the dynamic change of data by user.
I tried various links but couldn't find the proper solution to my problem.
I read somewhere that Google Web Toolkit (GWT) might help me converting Java Logic to Javascript, but couldn't figure out what exactly needs to be done for that.
Can anyone guide me how should I start and what exactly should I do to complete my project?
First the bad news. There is no generic and magic solution that can convert your legacy (as you are describing it) into modern n-tiers web application.
I can suggest you the following steps.
decide what kind of client and server side technologies you are going to use and learn them to become familiar enough to start coding.
learn your legacy code and re-design it. Decide which parts of the code must be re-written, what you can use as-is and what you have to change and/or re-package.
To choose client side technology try to search for "client side javascript frameworks" or something like this. Popularity of GWT that you mentioned is going down now. The most modern framework these days are AngularJS.
Concerning server side technologies I personally prefer Spring but you can take a look on Guice and EJB too. You can also implement whole server side as as collection of servlets. It is up to you.
Start learning this amazing world and come back with more concrete questions. Good luck.
I am thinking in starting a personal pet web project to experiment with different things and extend my knowledge.
I use Java a lot at work (for web applications :D) and was thinking in making my own in Python since I kinda like this language but never passed the simple scripts stages.
I want to step up a gear regarding Python (using 2.6.5) and don't know what to expect or what framework to choose from: Django, Pylons, web2py etc.
I also don't know how much these frameworks will offer me and how much will I have to write from scratch.
I could use a comparison with Java if somebody can provide me with. I'm thinking at filter functionalities such as sitemesh, custom tags like JSTL; In Python, can I write clean pages of HTML with tags in them or write a lot of print statements (something like servlets did in Java etc?
I don't know exactly how to phrase this question.
I actually need a presentation of how web development is performed in Python, at what level, and what the web frameworks bring to the table.
Can you share from your experience?
TIA!
hi try bottle python framework (bottle.paws.de / bottlepy.org) its really nice to use blistering fast and gets out of your way + the best thing about it is that its one single file to import, i recently migrated from PHP and i have to tell you am so ... loving it!
Python web frameworks run the full gamut of capabilities/facilities, all the way from shims around WSGI such as Bottle and Flask, all the way to full frameworks such as Django and TurboGears, and even "megaframeworks" such as Zope. Each does things slightly differently, but there will be some familiarity from one to the next.
It may sound strange, but there's no need to know "how web development is performed in Python" to start doing it.
In fact, working with language/framework/etc is a single most reliable way to get understanding of it. You won't gain a lot from one-page summaries.
Also, comparing it with Java isn't likely to help. There's no point in doing "Java-style development in Python". If you want to benefit, you'll need to clear your mind and do everything "Python-way".
As to what Python framework to choose, Django seems like like a good starting point. It's very popular, which means you won't be left without tutorials/documentation/help.
PS Short version: just do it.
Python web frameworks do it in a similar way as some Java-based frameworks. I can speak for Django here.
A good comparison could be Play! vs. Django. Both of them foster using an MVC architecture (or MTV = models, templates, views) and already provide you with a lot of things like CRUD operations in admin pages, ORM, authentication, URL configurations, a template language and much more.
Other Java-based frameworks might differ a lot, and I can't give you a general answer. Depending on the choice, there are only few differences. You can simply choose the language and framework you like the most. I'd recommend to go through some tutorials (Django tutorial, Play! framework tutorial for instance) and look which one works best for your needs.
Suppose i have one website with simple pages in php like
page1.php
page2.php
Now there is one page where i want some detailed functioning and i want to use python for that and it will look like
page3.py
and in other page i want to use java like
page4.jsp
Provided i have installed python , java on webserver.
Is it possible?
Yes. It's possible. Where you will find yourself in trouble is when you want to share server-side information among them (I.E. sessions).
Other than that, you can use (but I would advise against it) all languages you want on a website.
Yes, it is possible, but you definitely should NOT do it.
Communication between pages running different technologies will not be elegant, if for no other reason than the fact that you won't get a shared session pool. Session bridges are possible, but they are a pain to do.
I would say you are making a mistake if you can't just pick a single language for your core web layer.
Yes it is very possible, as long as the server can serve the files you want to use. If it doesn't have python, you can't use python.
It depends on the web server. Apache can do it. Just make sure you have the appropriate handler modules for each file type, and use the AddHandler configuration directive to map each type to the appropriate handler.
Also, to be pedantic, you can not only use all three of those, but you can actually integrate them at the session level, since all of those languages are available on the JVM. So, in one container you can run all of the PHP, Python, and Java code. You can share session state, reuse connections to the database (via server wide connection pools), leverage Java libs in your PHP and/or Python code, etc.
I'm not saying this will be "drag and drop" easy, but it is possible, and even practical if you need that kind of close integration (vs integration via a database or filesystem). There will likely be nuances in ensuring that the Python and PHP code runs properly on the Java implementations as well.
Short answer: Yes, many web servers can handle generating pages from multiple languages.
People are talking about session...
Almost all server side technologies today support custom session providers, where you can hook up some code to share you session between different HTTP modules and binders.
If you are starting to write a web site from scratch, and you need to write all of your code for yourself, than probably you will choose to do it in one programming language (only for your comfort of coding).
But... where it's all starting to change? When you want to mash-up some open source and community source code to make a web site. Let's say a store & community with ASP.NET to mix up with CRM like Sugar CRM (which is in PHP).
In that case you don't need any session sharing, just users sync procedure in the DB.
Also, if you choose IIS 7 (Windows Server) or Apache (using Mono project you can run ASP.NET on LAMP), you could run them both on the same machine.
And remember, the most important thing is TIME TO MARKET! So saving code time can be crucial for you success.
ENJOY!
I work for a PHP development company and all the time these ASP.Net companies come to US for whatever reason I've never understood. We build them forms in PHP usually dynamically pulling in the layout - sometimes hosted on a subdomain, sometimes hosted directly in IIS with the PHP module. Its very messy and bad, it can be done but I'd say avoid it.
You can use Apache Reverse Proxy to do it and session must be readable between programming languages. I use Go, NodeJS and PHP in one website. Session is saved in Postgresql. The hardest part is all programming that is used in your website can read session with same format and saved in same place. I have used github.com/yvasiyarov/php_session_decoder to read and save session with Go and save it in Postgresql so PHP can process that session
I want to develop a website web chat application like yahoo. Only difference is that I want to make it web based not desktop.
I will be implementing it in jsp/php with ajax.
I want to know whether jsp or php will be better for this.
What will be advantages or disadvantages of both.
Which one of the two would you prefer and why?
Will jsp applicatioon will be slower then php?
I am thinking of using using struts with jsp and ajax . Will using of struts decrease speed?
I know jsp, java and struts but not php. Is php more difficult then jsp?
Use whichever one that you're a better programmer in.
The task can be accomplished in either language just the same. You can argue endlessly about language features, the bottom line will be whatever works best for you.
JSP based web applications are a bit more harder to deploy than PHP based web applications, but you gain the ability of creating Servlets.
PHP requires less server administration skills to setup properly and get running, is fast to learn, and allows fast creation of simple applications.
None is better than the other, they are different in nature. Check your requirements, and take a decision based on that. If your requirements doesn't favor one over the other, choose whichever your team is more comfortable with.
If you know both well then choose any.
But if facing difficulty then PHP is better to stay with.
Reasons:
fundamentally easy
large no. of developer libraries are available.
Easy to integrate with other scripting languages
But structural syntax becomes a problem as they are so many in cumbersome manner. Use PHP tag library for that works just like JSTL.
"Choosing language is not the problem but efficient implementation of code is the only hurdle."
JSP isn't a language - it's just a view/presentation technology - so it's only to build a web Frontend - while the main programming happens somewhere else - in the Java Language, as a so-called Java Servlet.
I personally like Java more, but PHP is okay, and if you only know PHP (which I must assume from the questions :) ) you're better off doing it in PHP now - you can learn Java later...
Apart from that, the others asking for more background info are right - you need to see what technology meets your requirements best...