Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
So I've been studying Cloud Computing lately and I'm trying to wrap my head around the concept, since my background is mostly front-end web development.
I've gone over most of the Service Models and abstract computing services, but I still don't see the bigger picture I guess.
I'm having trouble understanding what exactly is a Cloud Application. Is it just a website hosted by a huge datacenter? Can I only access Cloud Application through a web browser then? And is it possible to have a desktop application 'running' in the cloud? If so, what kind of code is running in the cloud?
I just can't seem to find clear explanations on those questions.
I guess it's all still foggy to me, so I hope anyone can help me out! Thanks!
Cloud use service model : IaaS (Infrastructure as a service) , PaaS(Platform as a service) , SaaS (Software as a service ).
Simple example that use cloud is : Microsoft Azure , Amazon's Ec2 , google drive
Cloud is only application that provide user infrastructure , platform or software online with user-defined requirement and is scalable . that is maintained and upgraded by cloud provider.
user have to pay only for what they are using.
Your Answers :
--> Is it just a website hosted by a huge datacenter?
A. No , it is not website. it is service that enable user to store data , work with software online.
--> Can I only access Cloud Application through a web browser then?
A. Most probably you can use through web browser.
--> Is it possible to have a desktop application 'running' in the cloud? If so, what kind of code is running in the cloud?
A. Yes , the applications that run on cloud also contain desktop application. E.g , word editor or photo editor is desktop application and if you need for your cloud that then cloud provider provide you that application for you.
I recommend you to take a look at the different service models that you could have on the cloud. Specially, I would read carefully the Infrastructure as a service (IaaS) and Platform as a service (PaaS) concepts.
Briefely, when you have your application and you would like to deploy it on the cloud you should choose between different models.
Iaas. Where you have an Infrastructure as a Service. It means that you a re renting a physical machine in a specific datacenter that you can choose. You have the possibility to install several Operative System where you can start installing, for example, your Tomcat Java container, your MySQL database. Please, note that you don't need any infrastructure on your end but you still need to install/configure/maintain all the software. This is the Amazon EC2 model.
PaaS. They provide a service on the top of an IaaS where you are renting an infrastructure but you have also a lot of services preconfigured so you DON'T need to install Tomcat, MySQL,.. You have Tomcat as a Service, MySQL as a Service, PostgreSQL as a Service. With this model you don't to install anything, you have your application and you just deploy your app on the container that you would like. You can take a look at this video which shows you on a graphical way how to deploy your application on a PaaS so you can see the differencen with an IaaS.
Related
I am investigating the best route for me to push updates of my small WPF application to my end users using ClickOnce.
I have looked briefly at AppHarbour and see that ASP.NET MVC works straight out of the box. Has anyone tried with a WPF application, or if there is a slicker/easier/cheaper way for me to publish my app to clients from a Web location?
Also if above is achievable/feasible does anyone have any advice for slickest continuous integration techniques with this approach? i.e. set up 2 environments on AppHarbour, QA/Production, set a test environment at client site pointing to QA and a live deployment on client site pointing to live etc...?
I will be using the (currently) freebie version of VisualStudio.com TFS for source control. I know Azure does this, and is incredibly simple to use but I am a pauper and have no funds for this until I sell a few more sites!
Thanks
You can host your ClickOnce deployment in Azure blob storage. You can write a small program that will deploy it after you publish it locally, or push it up manually using something like Cerebrata tools. It's really, really inexpensive. This article explains how to do it, and this article talks about the cost. The second article has old Azure pricing; it's even cheaper now.
I know is hard to develop web application and make a individual app versions in each device.
But i just want to know how that works with big companies.I want to know how they write there code
The best example is Evernote and Google Drive.
They make a cloud application and individual apps for each device.
So the questions are..
How do sync the data with the cloud apps ?
Do they use version control ?
Can i get software requirement specification anywhere ?
Platforms and Languages:
iPhone and Mac - Objective C
Android and Other Mobile Apps - Java
Windows 8 - C#
Web Apps - PHP or Python
How do you solve this solution languages differ?
I guess i it's not possible with version control..
How to minimize coding ?
I recommend you use a version control tool.
make a individual app versions in each device.
I assume you mean developing different versions with few differences. The branch feature in a version tool can help you manage these versions easily.
How do sync the data with the cloud apps ?
You can use the web deployment feature to upload the applications/modifications to your web server.
I list some version control tools here for your reference:
Git
SVN
SourceAnywhere (I work for the company)
Team Foundation Server
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
This question is geared towards a group of newly hired developers that need to adopt into a minimal learning curve, maximum development/programming/management effort. Some of the developers have senior level experience and will be mentoring the junior developers. My question is I would like a solid set of tools that can run on any system (as they can choose what they like) but be the same for the entire group. The focus is on Mobile web (Not App) Development but are looking to venture into the Application market once the team gets up to speed with the web development.
Categories of software I need,
Web Development:
IDE (I think I'm set on Aptana stand alone version, unless someone sees something better)
Database GUI (I like DBVisualizer but I'm open to suggestions. MySQL and PostgreSQL are my options)
Code Repository (SVN, GIT, CVS ???)
Debugging tools (need server side as well as client side)
Frameworks (PHP, Ruby, Perl, jQuery, CSS framwork???)
Development Methodology (Agile, Scrum, etc...)
Workflow Documentation (Something like Visio but free)
Mobile Browser set (Firefox, Multi IE, Opera, Safari, Google Chrome) Why/Why Not???
Missing anything from the list???
App Development:
Application SDK's (iPhone,Android, Pre if it still exists)
Handset device
Anything else I might need to plan for???
For communication we are using Google Hosted Apps as well as Wave.
Code Repository: Add Mercurial - Its the only free, distributed version control system that easily runs on windows, mac, linux, etc. SVN will be the only one of those that has a friendly interface.
You'll need to plan for how to make your UI cross platform compatible. As of this writing, its quite difficult to perform a write-once interface in HTML/JS. Although state-of-compatibility is getting better, I would plan to very carefully separate your UI from your business logic because I think you'll likely need to either deploy separate versions of the UI for each device or to have unified, but very simplified, UI that works on many devices (assuming a web app).
Plan on unit test your business code to make sure it works on all of your devices. The JS engines differ, and you need to know that early in your dev process.
Plan ahead as to how to handle user input. If your users have a physical keypad, for example, they'll expect to use it. You may want a very different layout for a site targeting Blackberries with trackballs, then an iPhone or Storm that uses finger taps.
Know ahead of time which platforms you will target, and then buy those phones. If its worth doing, its worth buying the phone. As an example, my first iPhone app talked to the database. It worked fine on the simulator but I was waiting for my developer key before I could test on the device. Once on the device, I discovered that what I thought would be a 1/2 second delay was more like a 40 second delay, which forced me to totally revamp the project.
Hope this helps.
IDE - I think Eclipse (Aptana is a custom version of Eclipse) is a good choice for a cross platform and cross-language IDE. You could also look into NetBeans.
Database GUI - I haven't used many DB Visualizer's myself, so I'll pass on that one.
Source Control - I would go with GIT even if your developers haven't used it before. They will learn to like it quickly and the client tools have improved considerably in the last year or so. Check out Git Extensions for Windows and GitX for Mac.
Web Framework - This should be based on your team's experience and the requirements of your project. I would pick whatever your team feels the most comfortable with. Personally, I'm a fan of Ruby on Rails and ASP.Net MVC, but Asp.Net MVC is microsoft platform, and it seems like you want to stay open source.
Dev Methodology - Whatever your team feels comfortable with. I would say look into Agile and TDD (test driven development)
Workflow Documentation - Not sure about this one
Browser Set - Use them all. Test your applications in as many places as possible. For testing multiple versions of IE, I use IETester. Safari and some extensions for Firefox allow you to change your browser's user agent, which can be useful.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I'm in the early planning phase for a project and determining whether to use Silverlight or the Google Web Toolkit (GWT). There are obviously a lot of things to consider, but this question is specifically concerning deployment.
This application is intended for intranets; i.e. it is not a hosted website and is intended to be deployed at a customer's site. The target company size is small, so most would likely prefer to run on their pre-existing servers. The intent is not to sell the code base along with the application, so code security is a concern.
Given that:
Which is easiest to deploy?
Which is better for code security?
Which is better suited for deployment to the majority of small servers?
Both will work.
Both can be secured.
Neither place a heavy load on servers.
Use what makes more sense to the user. If I were using in Intranet application, I would probably want something that doesn't require me to download anything and runs smoothly in the browser. That makes me lean towards using the Google Web Toolkit (as long as you're comfortable with coding in Java).
If you think your users will be able to and ok with downloading Silverlight and you're a MS developer, go for it. The only downside is that your users have to download and install a runtime AND you might be using more internal bandwidth.
It mainly depends on what technologies you are familiar with. If you are a .Net shop, it just makes so much sense. Silverlight is compiled to XAP and is deployed on windows servers. Make sure you register the file extension of XAP in IIS. A XAP file is a Silverlight package that contains everything you need to deploy your Silverlight application, including the application manifest, the project assembly, and any other assemblies that your application uses
A major side effect of the Silverlight compilation model is the IL code can be easily decompiled or reverse engineered, Hence it is not an an appropriate place to store encryption keys, algorithms that are proprietary etc. If there is such needs, then design a web service that is on the server side. you can also try using obfuscation.
I would agree with what you are familiar with. Ask yourself, "What IDE am I best at?";
"What language do I know best, VB, C++, J#, C#, Java, ASP, JSP?".
What I know about either library would not give you much help but I have used them both.(just playing with samples).
I do know that GWT will take java classes and create a nocache.js file that your web page uses. I have not tried GWT with Silverlight although I did see this on the way here:
http://www.ongwt.com/post/2007/12/08/GWT-will-support-Silverlight
Is caching an issue? What classes does you system already support?
Both technologies are of an AJAX base. MS does it for Windows servers. Others use Open Source servers. What do use?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
We have a web application that deals with some common sales entities (Contacts, Appointments, Addresses, Notes etc..). We need to keep our app, outlook, and potentially any devices that they might have synchronized.
Are there any frameworks that we can use that help us integrate with PDAs? Any thoughts or reccomendations are appreciated. Thanks.
I think that the SyncML article on Wikipedia would be a good start.
Funambol has clients for multiple platforms and the core project is free and open source.
Plaxo.com has customized a funambol Windows Mobile clients for their customers.
I would look at Microsoft Sync Framework. Whitch has many "providers" both some included, some open source, some 3rd part. A provider is a like a standardized "connection" to a datasource, like outlook mail, outlook contacts, file system, database or whatever you can imagine. Or as Microsoft says:
Microsoft Sync Framework is a
comprehensive synchronization platform
that enables collaboration and offline
access for applications, services and
devices. It features technologies and
tools that enable roaming, sharing,
and taking data offline. Using
Microsoft Sync Framework, developers
can build sync ecosystems that
integrate any application, with any
data from any store using any protocol
over any network.
A key aspect of the Microsoft Sync
Framework is the ability to create
custom synchronization providers. A
provider is a software component that
represents a replica for
synchronization. A replica is a
particular repository of information
to be synchronized, such as a file
system on a handheld device. When
representing a data source, a provider
enumerates changes from its replica.
When representing a destination, a
provider applies changes to its
replica. If the data at the source and
destination differ in type or schema,
each provider performs any necessary
mapping or transformation.
Microsoft Sync Framework home page:
http://msdn.microsoft.com/en-us/sync/default.aspx
Introduction:
http://msdn.microsoft.com/en-us/sync/bb821992.aspx
Contact Synchronization Sample - Outlook Sync
This sample shows how custom providers can be created to synchronize content between disparate data sources. In this sample we will synchronize Contacts between Microsoft Outlook, Vista Contacts and VCard files. A key aspect of this demo is the data mapping capabilities which enables disparate data sources and data types to be mapped appropriately through the Sync Framework:
http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=613
Microsoft Sync Framework v1.0 CTP1 - Devices
Managed (.NET Compact Framework) and unmanaged/native (ARM)
Supported platforms are Windows Mobile 5 and 6 (ARM processors only in CTP1)
http://www.microsoft.com/downloads/details.aspx?FamilyID=a7c01a89-9af8-4eee-ab04-6a3ad098a03f&DisplayLang=en
I've done this with the Microsoft .NET Compact Framework and had excellent results. SQLCE can provide local storage on the PDA. Syncing can be performed either with custom code over web services or using something like SQL Server Replication.
Another strategy would be to design a second web portal with a UI that is specifically targeting mobile devices with small screens. Smart phone-based users could access the mobile portal with any web browser. This might be the most cost effecive solution.