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 6 years ago.
Improve this question
I'm in the position where I may be creating a new web service from scratch - without much pre-existing infrastructure to have to contend with. What resources are there that talk about the architectural aspects of deploying a web service? [Clarification: I'm not talking about an Enterprise SOA orientation here - rather setting up one family of services for the public.]
A first list of topics that I'd like to see covered are:
SOAP vs. REST
JSON vs. XML
Relational Database Backed vs. SimpleDB backed vs. ?
Scaling
Availability
Models for restricting access
Models for throttling access
What would you recommend?
I would recommend Restful Web Services. It's weel written, very complete and vendor agnostic. Also it has a fairly good coverage of both REST (with comparison to SOAP/WS-*), HTTP scaling, resource formats (JSON, XHTML, Atom, XML), security and service modeling.
If you have any specific scaling needs, then you might also want to read Building Scalable Web Sites. It will teach you everything worth knowing about etags, proxies, caching, edge computing and so forth. However if you are just starting out, then the Rest book I mentioned earlier will properly cover most people needs.
If you decide to use Microsoft technology (WCF) then you could check out the Microsoft Patterns and Practices group's online library of guidance.
They have a library located here as part of MSDN which deals with Web Service security, Enterprise Buses (obviously not applicable to you scenario) and PAG's own Web Service Software Factory.
Their main page is located here.
Otherwise, assuming you choose WCF it might be worth checking out further reading such as Juval Lowy's book on WCF, although I fear it may cover the implementation more than the theory and design facets.
Do you know roughly what technology platform you'll be working from?
Related
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 2 years ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Original close reason(s) were not resolved
Improve this question
I'd like to choose a framework for building and deploying AWS services and I need to have a full list of pros/cons to justify one framework over the other. Since this forum doesn't want people to just post opinions please provide references with your responses. Also, I'd like to hear from people who have deployed production solutions using any of these frameworks.
If you are looking at building Serverless applications I would select the Serverless Framework. For a couple very large reasons:
The community is a lot bigger. This may not seem like a big deal but with the community contributions constantly improving the framework itself as well as the huge quantity of community plugins to the core framework that extends the functionality out to an enormous amount, it makes it difficult to justify anything else.
Documentation quality is amazing. The Serverless Framework has a huge depth of documentation, everything from reference docs for every feature of the framework to full (and free) courses about building Serverless applications and blog posts with details on best practices. Then there is the examples repos, guides, tutorials ... its pretty awesome!
The ability to use and mix multiple cloud vendors. SAM is AWS exclusive,so if you wanted to potentially create services in other cloud vendors such as Azure or GCP, you would be stuck. But its not just the big boys either; Twilio, IBM Cloud, Cloudflare, Tencent, OpenWhisk and more are all supported.
Free monitoring and management platform. The team at Serverless Inc also produce a pretty stellar SaaS platform at dashboard.serverless.com that provides a lot of the "missing" capabilities needed for application development such as monitoring, debugging, troubleshooting, CI/CD and a bunch more!
Components makes deploying specific use cases a piece of cake. Components is one of the newest projects to come out of Serverless, Inc and promises a shift in how we build Serverless applications that is far more use case driven but also focusses a lot more on the developer experience. Something to definitely keep your eye on.
So yes, I would suggest the Serverless Framework for a lot of really compelling reasons!
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 4 years ago.
Improve this question
I am working on an application that has some scalability requirements and consists of a web-based front-end along with a set of services and workflows. In the architecture that I have designed, some of these services will perform necessary transformations on a given set of data, pull additional data from a database, and so on.
In terms of documenting my architectural design, I am wondering if someone can suggest a couple books or some reading material on what are the best practices. I am not looking for a guide on UML. Let me clarify...
For example: I have a service... let's call it my Workflow service. It will take a request, read some stuff from a database to look up that request, and trigger a workflow. Sounds easy enough. In terms of the architectural design, lets say I break off the database logic into its own module or package... should this just be called the blahblahblahDAO or blahblahblahBusinessObjects?
Thanks in advance.
If you are looking for deeper insights in how to layer real software and what proper names they should have you should read about Domain Driven Design
First and classic book (be aware that it's very general). As for something practical you can check out this book or just google for some online examples.
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 4 years ago.
Improve this question
Are there any cloud based private Twitter-like services out there?
I am working for a client who needs a service like this implemented, but we don't have the time or budget to create one from scratch.
I am looking for something with a REST api where I can create an account on it from the master server, set an account to follow another account, post updates for accounts, and then get a feed of posts (sorted by date) from accounts that another account is following (like a facebook wall, or twitter feed). It would be great if it could automatically scale out to hundreds of thousands of users, with perhaps 50 000 daily posts being made.
I had thought about implementing this myself, but it seems like there are some tricky areas when it comes to having an account following a few thousand other accounts, or being followed by 10s of thousands of accounts, and generating the feed in somewhat realtime as posts come in.
I have found some services such as http://www.ning.com/ and http://www.socialengine.com/ but I'm not sure if they can do what I need, and they seem to be very focussed on having a website. This is for a mobile app so that is not required.
There are a few open source projects out there, but they would all require setting up/maintaining hosting (not a huge problem) and I'm not certain how scalable they are (the client requires it scale up to at least 100k users).
I'm sorry for the late reply. I hope it will be useful to others looking at this.
I had pretty much the exact same need as you, and ended up creating a full-featured solution after finding no other resources. The service is called Collabinate (http://www.collabinate.com). It provides a RESTful API that focuses on simplicity and ease of use, and currently leaves the UI completely up to you. It uses a graph database and algorithms in the backend, and scales quite well for your situation.
Maybe private team inbox can fit in your solution too...
https://www.flowdock.com/
there is not a following feature in this but if this is an internal company need...
you can create chat rooms for departments and in general ... maybe the chat rooms can be the following feature for you
Looks like there isn't a good solution here.
I have found jaiku which looks incredibly complex and doesn't seem to run on the latest app engine sdk.
There is also diaspora which could be modified and run on your own server to do what is needed.
In the end, I have decided to just implement this myself on Google App Engine. It seems the best way to do what is needed. Using the fan-out pattern seems to be the best way. The Fantasm library seems to provide an easy to use way to do this, so I am going to try that.
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 5 years ago.
Improve this question
Is there a file sharing service akin to Dropbox or SugarSync that would offer an API? I would like to add a file sharing service to a website, but the full Dropbox interface is still too complicated for my users, so that I’d like an API to build a dead-simple list of files integrated to the website. There is a Dropbox API project on Google Code, but it seems to be dead.
Update: I need a service with a desktop client at least for Windows, so that the more technical website users could easily upload and organize the stored data. Extra points if the service has a free plan.
A quick search on ProgrammableWeb brings up about 50 API results.
Out of the lot, I could only say that I have had experience with the Box.net website. I've had no trouble in the past, and they have rather acceptable limits for the free account (25 MB per file; 1 GB of storage).
I'm sure that with a little poking around you'll find something that fits your needs, but I wouldn't expect to find something that offers you a business-scale solution for free, you might have to be prepared to make an investment, and in that case some of Amazon's Web Services might be better suited to your needs.
Edit: Since I answered this question 6 years ago, the landscape for storage solutions with APIs has changed somewhat. There are now free or affordable services with mature developer APIs offered by Dropbox, Google Drive, Amazon S3, Rackspace CloudFiles, Microsoft Azure and for mobile, iCloud.
We are a file sharing company that has recently released a fully functioning RESTful API. You can add users, groups, permissions, files, dynamic links and even searching in real-time. Unlike dropbox and sugarsync it was designed for business, thus giving you multi-user access.
We would love your feedback.
http://www.smartfile.com/dev/
smartfile
I used https://uploadcare.com and it works like a charm.
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 8 years ago.
Improve this question
We're developing a new web service that will be free for low-volume users and subscription-based for higher volume users. Most users will probably invoke it via a plugin for their cms or blog system, and some will use api toolkits for various programming languages. The web service, itself, is straightforward to expose to users, but a full-featured web application needed to configure and manage access to it using a subscription-based business model is more complicated.
We need to build, buy or find a solution that powers a self-service website which lets people:
sign up for free or paid accounts
select and configure service options
enter payment credentials
edit their account and billing profiles
review their service usage and billing history
suspend or cancel their accounts
From an admin perspective, we would also like the system to let us:
monitor and manage service status
log user activity and service consumption
review and manage user accounts
manage recurring billing, flag problem accounts
manage message templates for communicating with users
configure service packages, options and discount codes
perform other, similar administrative activities
This seems like standard stuff that any web-based, self-service subscription system might need. I'm wondering whether anyone out there knows of a package that provides most or all of these features? We're open to considering various programming languages and platforms, although it will be most convenient to deploy and run this on a linux system.
If there's not a solid, open-source solution out there, then we might be interested in sponsoring the creation of one. I'm looking forward to hearing insights form the community. Thanks!
Rick
Subscription management and billing operations are a pain to implement yourself. I would suggest checking out Zuora. Even though there's some cost there, they have a nice API for their cloud service.
Not sure if that would fit with the model you have in mind, but they do take away a headache.
Go with FastSpring , www.fastspring.com
It rocks it addresses all things you mentioned + more.
http://www.fastspring.com/features-subscription.php
METRO sounds like a suitable choice to me considering your preferred server OS:
https://metro.dev.java.net/
Wikipedia has a great comparison table for web service frameworks. This may be a good starting point: http://en.wikipedia.org/wiki/List_of_web_service_frameworks