As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have an idea for a smartphone application.the idea involves communicating with a web server in a specific protocol that I wish to design. what is the best architecture for the web server that fits this scenario, If I want to use DB pesistance, client server communication, and it should be in a language I'm farmiliar with, such as Java or c++?
I'm sorry if it's a noob question, I never dealt with this kind of development (I'm a RT embedded engineer)
thanks a lot.
I would pick a technology that is easy to deploy and manage. I'm not a C++ guy, but I think Java fits the bill. There are a number of easy ways to deploy java these days:
Google App Engine: http://code.google.com/appengine/
Heroku: http://devcenter.heroku.com/articles/java
Amazon ec2 beanstalk: http://aws.amazon.com/elasticbeanstalk/
Each of these will provision the servers and databases for you. Google, and I think Heroku, have free plans for getting started.
-Dave
I think your question is too broad.
I would go for what I'm most confident with, Unix server with Java and MySQL, but since you intend to create the protocol, anything would do, like Windows with SQL Server and IIS and .Net 4...
The fundamental idea is, since you intend to create the protocol, what you interface with is irrelevant. If you were going to use SOAP on a WinPhone, it would make sense to go for a .Net platform, whatever people might say about compatibility and SOAP. Similarly, Android would be better interfaced with Axis and Java, imho. The iPhone anyway requires third party tools or hand-coding of XML, so anything goes.
As it is, your initial idea is right: go for what you master best, because the field has enough learning requirements as it is that you don't need more hurdles :D
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I intend to create a webapp in which members of an organization will sign in, filter and search for events, and sign up to attend events. I'm just making this for one organization, but I'll most likely make it open source when I'm done.
I have my own hosting space on GoDaddy, but then I found Google's App Engine and figured it would be more efficient.
I also plan on using Twitter Bootstrap and HTML5 Boilerplate (maybe?). UI is important to me. I'll also make an iPad app with the same function that uses the same data sometime soon.
So Python or Java? What are the advantages and disadvantages for this application for each? I've learned the absolute basics of both languages but have not used either of them for the web.
I'd consider the Go Programming Language, but it doesn't look as community-supported.
TIA!
#Blender and #Barranka are right. Both languages are equally well supported on App Engine, with only very minor differences. The web client libraries you mention should integrate equally well with either, and you won't easily be able to port code to iOS in either language. (If you also plan an Android app, that might be a vote for Java, but you didn't mention that.)
So the answer is, pick the language you prefer. Both will work.
(If you don't have a preference, maybe lean toward Python, since it's higher level and supports rapid development a bit better, and Java's advantages (performance, static typing, etc.) aren't as important for what you want to build.)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Googling this question returns lots of results with marketing jargon.
What I am looking for is a summary of what it does, more along these lines What is Maven?
This is the closest I could get.
"WebSphere" in the most abstract sense is a brand encompassing various products, so "a brand" is about as good an answer as you can get.
What one usually refers to when saying "WebSphere", though, is the WebSphere Application Server, which (as the name implies) is an application server - something that runs EJBs and other server-side Java technologies like servlets, JMS, etc. An example of another important player in this space is JBoss AS.
Finally, another possible definition of "WebSphere" is "its creator's biggest technology mistake" ;)
Unlike a regular web server which simply provides clients acces to html-documents, which their browser then displays as websites, an application server allows for programms/scripts to be invoked by requesting websites, which dynamically generate the websites.
In this case the scripts are written in Java. This allows for a lot of the apis provieded in Java to be utilised by your web-application (the website itself is simply the frontend of your webapplication)
So web sphere is an application server from IBM. Simple as that. This tells you what it can do.
Hope that helps.
WebSphere is an application server which supports a lot of advanced functions including load balancing, database connection managing, advanced logging options and many more.
On the other hand it introduces severe overhead, is difficult to administrate and one has to learn a lot to use it effectively. And more often than on other servers you find yourself in JAR hell. Been there.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are the most common technologies for having a client java app communicate with a app server java app and what are their pros and cons?
Please tell me the magic words to search the web with. I have heard 'Enterprise Java Bean', 'RMI', 'Web Services' and 'JSON'.
Simply where do I start looking so I can connect my JavaSE client to a JavaEE server application processing.
For now I would like to just transfer primitive data: numbers, dates, Strings etc.
Some good ones to consider:
http://code.google.com/p/kryonet/ - Kryonet: fast, efficient binary serialisation
http://code.google.com/p/protobuf/ - Protocol Buffers, Google's own data transfer library
http://hessian.caucho.com/ - Hessian, yet another binary interchange library. Lots of support for different languages
You can also go for JSON / XML interchange formats. But they can be unwieldy and I think binary formats are better if you control both the client and the server (mainly for speed and network efficiency reasons).
Also, if you are interested in more of the low level stuff I strong recommend taking a look at Netty - I think it is pretty much the gold standard for Java network IO right now.
https://netty.io/
Your question is pretty broad, and it seems like you're having difficulty in knowing where to start. There are heaps and heaps of solutions out there for this. The key here is to keep things as simple as possible.
If I were you, I would check out http://dropwizard.codahale.com.
If you take the time to go through the examples and read some of the documentation you'll end up understanding all the basic concepts, even if you decide it isn't the best solution for your application.
FYI - Dropwizard is licensed under Apache License v2.
You can have a look at finagle, which "is an asynchronous network stack for the JVM that you can use to build asynchronous Remote Procedure Call (RPC) clients and servers in Java, Scala, or any JVM-hosted language. Finagle provides a rich set of tools that are protocol independent."
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to code a server daemon application that provides some backend functionality. I'd like to stick to Java since I'm pretty familiar with this language and I figure it'd be much easier to just dig into a new framework and not a new language in parallel.
So far I found many promising frameworks, but all of them resemble somehow a webserver. Thing is, I don't want to code a web-application in terms of web-sites so I doubt that I'll need all the webserver-functionality such as templates and this stuff.
What would be a good suggestion for this purpose or would using a regular web-framework such as "play" without the template-stuff be the best choice?
JAX-WS is a standard for creating SOAP web services. Wikipedia link to see what it is about.
For RESTful you would need to make http requests, usually get and post and this type of service works best if you develop a website. From what I understand you don't want this, but still if ever just check the spring framework.
Raw TCP/IP is so much harder and unless you know exactly what you want (performance and optimization wise) you`re better off using a framework.
A webserver is used to implement webservices. A webserver may serve more than html to clients.
I have a personal "stack" using for a long time that is Jetty + RESTEasy and it serves no html at all (only XML and Json).
Javascript + Rest (Glassfish + Jersey for rest). Glassfish – Java EE Full profile certified reference application server (server will used for REST host).
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have a client currently thinking about using SeeBeyond / Sun's JCAPS product, does anyone on SO have any positive or negative experiences using / developing for it ?
SeeBeyond/JCAPS might not have a future now that Oracle has bought Sun.
JCAPS 6 is quite convenient for Integration problematic (hospital in my case); however the design pattern used here (Message routing) might be a bit complicated to set up from scratch.
JCAPS 6 is also far better, easier, faster ... than it's ancestor eGate:)
I done JCAPS for a while now, If you try using JDeveloper it may be harder since you need to set up a lot of other stuff rather than just code for your needs. For example like ant build and also apache web service.
If you focus on developing a fast integration, JCAPS would be better. But then again, you still need to do some performance tuning before it is really good. Not so sure about TIBCO since they are well known also.
maybe rather look into using JDeveloper. Its user interface is very similar to jcaps, and very easy to use.
As far as developing SOA solutions go, Java CAPS is very useful.
However, Oracle's plan for this product is not that clear. They said they would not have any new feature releases; instead, they will have only maintenance releases. They are focusing on Weblogic SOA product suit.