Loopback - API Connect - Licensing [closed] - ibm-cloud

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 6 years ago.
Improve this question
My question: Can I use API Connect to develop loopback models for free, similar to how SLC ARC works?
I've been playing around with strongloop's ARC and it is fairly straightforward to discover models from a database schema. IBM is pushing API Connect and SLC ARC has a number of deficiencies (how it handles mssql schemas during discovery, the fact that custom connectors are not picked up and must be baked into ARC's source code, etc. that are unlikely to be addressed as ARC is no longer supported).
The Loopback.io homepage explicitly states that:
A free version of API Connect especially for developers is available
called API Connect Essentials.
However, to run apic edit I am forced to sign up for Bluemix. On the registration page, it appears that I am receiving only a trial.
Your 30-day trial is free, with no credit card required. You get
access to 2 GB of runtime and container memory to run apps, unlimited
IBM services and APIs, and complimentary support.
I don't care about online services or deploying my API to the cloud. I'd like to run loopback on my own servers and am simply planning to use API Connect for model generation. Any help is greatly appreciated!

The trial is for Bluemix itself, which allows you to use a variety of services for free for a period of time.
The API Connect Developer Toolkit is free to use regardless of your Bluemix account type.

Related

Demandware/SFCC prerequisites [closed]

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
If one were interested in learning to develop on Salesforce Commerce Cloud (formerly Demandware) could they leverage knowledge in other frameworks to expedite their onboarding? If such other frameworks exist, which are they? What are some other ways a new developer in Salesforce Commerce Cloud could pick things up faster?
I am asking this question while keeping controllers, MFRA in mind. Please consider that when answering.
As a seven year veteran of Commerce Cloud (Demandware) development, a certified Developer, Support Technician, and Solution Architect, as well as a two time Subject Matter Expert (SME) for Salesforce Trailhead's certification team; These are my recommendations:
Learn to code Javascript with ECMAScript 5 syntax without relying upon frameworks nor ES6 features.
SFCC uses the Rhino engine and is not capable of using all the fancy
ES6 features you may be used to with Node or browsers. For more information on this, see: Frequently Asked Questions (Access can be gained by following instructions here.) Note: You will not be able to use jQuery in your controllers and modules. They execute on the server-side but not the same way that NodeJS does.
ExpressJS Controllers syntax
Storefront Reference Architecture (What they're calling MFRA now) uses a syntax & middleware pattern for its controllers that is similar to that used by Express.
CommonJS Module syntax
Understand how to define and use CommonJS modules. This pattern is used heavily within the SFRA architecture.
NPM Scripts
Understand how NPM Scripts are executed and configured. SFRA uses them for building all static assets (CSS, JS, etc), as well as unit tests, and deploying to a Sandbox.
If you're completely new to SFCC development and you'll be building more than just the template layer, you should use as much of the Commerce Cloud eLearning content available as possible. You can find this content from within the Commerce Cloud Developer Center.
Some suggested courses that were/are offered by Salesforce:
DEV001: Commerce Cloud Digital Architecture Overview
DEV101: Developing for Commerce Cloud Digital I - This is a paid course; highly recommended and required for dev certification.
DEV180: Developing for Commerce Cloud Storefront Reference Architecture - Focused course on developing using SFRA.
DEV181: Cartridges and Commerce Cloud Storefront Reference Architecture - Focused course on understanding cartridges and extending SFRA.
DEV201: Developing for Commerce Cloud Digital II - Critical scalability, performance, and customization learning that applies to all aspects of the platform.
Finally, after all that learning, you may find that you're having trouble getting up to speed or that you're not getting answers to your questions on SFCC Developer Center Discussion Groups. You may also request an invitation to the SFCC Unofficial Slack community by submitting this application form. Please keep in mind that this Slack is operated and supported entirely by volunteer efforts from other developers, architects, and business users. We would ask that you do your part to give back when you feel comfortable doing so.
I heard that learning AngularJS and reactjs would help alot to excel in Demandware.
It mostly depends on the project what you get.
Old Demandware uses pipelines, which look like algorithms and uses DemandwareScript, which is ECMAScript 4 and programming part is very easy. Frontend part saves states for some objects.
New Demandware uses controllers and has more code, I think currently it is ECMAScript 5. Grunt is generally used for continuous integration, with a lot of NodeJS modules. It is also more testable and Mocha, Chai and Jasmine is also used for testing. Frontend part is stateless, contrary to Angular or React and introduces promises.

Enterprise NoSQL Stack Solution for Mobile/Web [closed]

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 7 years ago.
Improve this question
I'm tasked with investigating for our firm a full-stack solution where we'll be using a NoSQL database backend. It'll most likely be fed from a data warehouse and/or operational data store of some type in near-realtime (hopefully :). It will be used mainly by our mobile and web applications via REST.
A few requirements/assumptions:
It will be read-only (in the near term) and consumed by clients in REST format
It has to be scalable
Fast response time
Enterprise support - or if lacking actual support, something industry proven if open-source (basically management wants to hold
someone accountable if something in the stack fails)
Minimal client data transformations - i.e: data should be stored in as close to ready-to-use format as possible
Service API Management of some sort will most likely be needed (eg: 3scale)
Services will be used internally, but solution shouldn't prevent us from exposing them externally as a longterm goal
Micro-services are preferable (provided sufficient API management is in place)
We have in-house expertise in Java and Grails for our mobile/portal solutions
Some of the options I was tossing around were:
CouchDB: inherently returns REST - no need for translation layer - as
long as clients speak REST, we're all good
MongoDB: need a REST layer in between client and DB - haven't found a widely used one based on my investigation (the ones on Mongo's site all seem in their infancy - i.e: RestHeart)
Some questions I have:
Do I need an appserver? Or any layer in between the client and DB
for performance/caching reasons? I was thinking a reverse-proxy like
nginx would be a good idea for this?
Why not use CouchDB in this solution if it supports REST out of the box?
I'm struggling with deciding between which NoSQL DB to use, whether or not I need a REST translation layer, appserver, etc. I've read the pros and cons of each and mostly they say go Mongo - but for what I'm trying to do the lack of a mature REST layer is concerning.
I'm just looking for some ideas, tips, lessons learned that anyone out there would be willing to share.
Thanks!
The problem with exposing the database directly to the client is that most databases do not support permission control which is as fine-grained as you want it to be. You often can not allow a client to view and edit its own data while also forbidding it from viewing and editing any data of other users or even worse from the server itself. At least not when you still want a sane database schema.
You will also often find yourself in the situation that you have a document with several fields of which only some are supposed to be under the control of the user and others are not. I can, for example, edit the content of this answer, but I can not edit the time it was posted, the name it was posted under or its voting score. So far I have never seen a database system which can handle permission for individual fields (when anyone has: feel free to post in the comments).
You might think about trying to handle this on the client and just don't offer any user interface for editing said fields. But that will only work in a trusted environment. When you have untrusted users, they could create a clone of your client-sided application which does expose this functionality. There is no way for you to tell the difference between the genuine client and a clone, especially not when you don't have a smart application server (and even then it is practically impossible).
For that reason it is almost always required to have an application server between clients and database which handles authentication and permission management of the clients and only forwards those requests to the persistence layer which are permitted.
I totally agree with the answer from #Philipp. In the case of using CouchDB you will minimum want to use a proxy server in front to enable SSL.
Almost all of your requirements can be fulfilled by CouchDB. Especially the upcoming v2 will give you the "datacenter-needs".
But it's simply very complex to answer what should be the right tool for you purpose. If you get some business model requirements on top like lets say: throttling - then you will definitely need an application server middleware like http://mcavage.me/node-restify/
Maybe it's a good idea to spend some money to professionals like
http://www.neighbourhood.ie/couchdb-support/ ? (I'm not involved)

Own Backend vs BaaS [closed]

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 6 years ago.
Improve this question
I am trying to decide between two development firms. One wants to go with Parse while the other wants to build a backend. I would like to get feedback and reasons why building a backend or using a BaaS such as Parse, Stackmob is better in terms of scalability and performance.
For example let's use SnapChat a highly used app that handles millions of users and data requests. What would happen if a newly created app were to experience a large increase in users and data request. Would the backend be able to handle this? Would I be looking to have it fixed shortly after the increase in users?
Something like Parse.com gives you a lot of value for very little capital investment. With BaaS, all of the gory details of infrastructure management are hidden. Deployment, system capacity issues, system availability, system security, database administration and a myriad of other task simply go away when using a good BaaS. Parse.com for instance, uses Amazon Web Services and elastic load balancing to dynamically add more capacity to the system as usage increases. This is the nirvana of capacity management.
Parse.com is a special kind of BaaS. Parse.com's intended purpose is to be a light-weight back-end back-end for mobile apps. I believe Parse.com is a very good mobile backend-as-a-service (MBaaS - link to a Forrester article on the subject).
That said, there are times when Parse.com is not the right solution. Estimate the number of users for the application and the number of HTTP requests and average user would send in a day. Parse.com charges by the number of transactions. The Pro Plan has these limits:
15 million HTTP requests per month
Burst limit of 40 requests per second
Many small transactions can result in a higher cost to the app owner. For example, if there are 4,500 users, each sending 125 HTTP requests to Parse.com per day, then you are already looking at 16,850,000 requests every 30 days. Parse.com also offers a higher level of service called Parse Enterprise. Details about this plan are not published.
The services provided by a BaaS/MBaaS save much time and energy on the part of the application developer, but impose some constraints. For example, the response time of Parse.com might be too slow for your needs. Unless you upgrade to their Enterprise plan, you have no control over response times. You currently have no control over where your app is hosted (Parse apps are presently run out of Amazon's data centers in Virginia, I believe).
The BaaS providers I have looked at do not provide quality-of-service metrics. Even if they did, there is no community agreement on what metrics would be meaningful. You just get what you get and hope it is good enough for your needs.
An application is a good candidate for an MBaaS if :
It is simple or the application logic can run entirely on the client (phone, tablet...)
It is impossible to estimate the number of users or the number of users could be huge.
You don't want a big upfront capital investment.
You don't want to hire infrastructure specialists to handle capacity/security/data/recovery/network engineering.
Your application does not have strict response time requirements.
Parse's best use case is the iPhone developer who wrote a game and needs to store the user's high scores, but knows nothing about servers. That said, complex application like Hipmunk are using Parse. Have a look at Parse.com's portfolio of case studies. Can you imagine your application in that portfolio or is it very different from those apps?
Even if a BaaS is not the right solution, a PaaS or IaaS might be. Look at Rackspace and AWS. In this day and age, buying hardware and running a data center is tough to justify.
BaaS providers like apiomat or parse have to handle the requests of thousands of apps. Every app can have lots of users there. The providers are forced to make the system absolutely secure and scalable because if there are any issues about one of those points it will be the end of their business... Building scalable secure backends on your own is not as easy a you would expect. Those companys mentioned above have invested some man-years in that.

running my own jabber/xmpp server [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Can I make my own jabber server.So
that if I run my website xyz then
people should be be able to get
their jabber id from my website by
registering on my website.
Is there any open source
implementation of jabber server that
I can use?
I use Openfire to run my Jabber server and am quite happy with it. Probably higher-overhead than some of the other options (jabberd, ejabberd, etc.), but it's easy to install and has a great web-based admin UI.
As far as adding users via a web application - I don't know how you would go about doing that with Openfire, but it should be possible. It can plug in to many databases, and you might be able to give your web application an admin account that it can use to create users.
Alternatively, the Jabber/XMPP protocol supports creating a new account when you first connect to a server, if that's good enough for you. OpenFire supports that feature (as do most Jabber servers, I believe).
Update: The User Service Plugin for Openfire exposes an HTTP API for performing user administration actions. That's probably exactly what you need.
Can i make my own jabber server.So
that if i run my website xyz then
people should be be able to get theri
jabber id from my website by
registering on my website.
It depends on what kind of hosting you have. I think you should at least have VPS hosting to install the software. Basic hosting for a couple of bucks does not allow you to run jabber server.
Is there any open source implementation of jabber server that i can use?
I myself really like lua's prosody. It is easy to install / configure
You might like ejabberd, it is fairly friendly to new users:
http://www.process-one.net/en/ejabberd/
For you first question:
You might want to look at the XEP-0077 extension for in-band registration.
http://xmpp.org/extensions/xep-0077.html#intro
What language are you coding in? You might want to check and see if that language has a XMPP library that can handle this extension.
I've tried most of them and can agree on ejabberd. The only problem is that in order to change it, you need to program in Erlang. Openfire looks great, but I could not get the certificate to load properly: there is a bug with the implementation, so TLS will not work. I couldn't get Soapbox to access a local MySQL database, so that was out too.
As for client-side, you can use Miranda.

Simple GWT hosting [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I have designed a website with the GWT, This is purely a static site and it doesnt have any servlet or any rpc part involved in it. Its just a plain static pages in GWT .I have compiled with the GWT and there are all related html ,.js files are present in the public folder. Now i want to host the same in any of the web host.
Good web host to host this web site.
Procedure to upload the GWT compiler output files into the web host.
Note:- I tried with the google app engine but it had issues as i have couple of video files that needs to be uploaded which is embedded in the webpage.
Thank you
I think this is not really a "GWT hosting" problem, but rather a "hosting" problem. Finding a good host is not that problematic though. I suggest you to look up webhosting in your own language and country, which makes it easier to contact the hosting company in case of problems.
I don't suggest a free hosting, unless you really can't afford a payed host. Your site being static, would require a cheap host. Free hosts have always got some problems and some advertising attached to your content in some way (frames and popups).
For the uploading part, you usually get a (s)ftp account which you can use to upload your files to the server with a (s)ftp client. Good companies provide detailed description of this process for their server, and as being a paying customer, you will usually get technical support as well.
It's good to know that a host alone doesn't include a domain. To have a yourcompany.com address, you need to register it, and you will have to pay a (low) registration fee. Some compaines offer the domain as part of the hosting service.
I host a few small GWT (client-only) apps on the same site I host my blog. There's no problem. In the end GWT is just javascript with a couple of html files, and thats all thats really being hosted.
Ummmmm...why not host it on Google App Engine?
It's free and deployment is easy if you're using Eclipse.