Rollback migration testing strategy - testing

I have connected devices and I migrate them from one web client to another.
How can I test rollback migration? (testing redirection of migrated devices back to the first web client)?

Related

ASP.NET Core 5 MVC application to work both offline and online mode

I have developed a POS system using ASP.NET Core 5 MVC. I want it to work offline in case there is no internet connectivity.
How can we make an ASP.NET Core MVC app work with a local and remote database?
According to your needs description, I think the following scheme will be more suitable for you.
The first situation:
1. You need to have one physical server (used to deploy the website and install the database), or two, depending on your performance requirements.
2. If you have an independent public network IP, it is best. If you don't, you need to use an intranet penetration tool, such as ngrok. When users have a network, they can access the public network.
If the above two conditions are met, when the Internet gateway service is disconnected, users in your intranet can still access the website and can work normally. However, if you leave the intranet, such as when you return home, you will not be able to access it. At this time, it is equivalent to offline.
When the public network environment of the intranet is restored, it can be accessed from the public network again.
The second situation:
If you are using a cloud server, this situation does not exist. I don't think it makes sense to use offline and remote databases. When it is stored in the local database when offline, there will always be data out of sync.

Win8 Store App - Automating Sideloading Deployment

I am in a development team which have just about finished developing a system for a client which involves a MVC4 Web, a WCF service platform and a Windows Store App which communicates with the web that the service.
We are running Continuous Integration practices for the Web & Service solutions which include automated deployment to dev, test, acctest and production environments. Building, testing, configuring and deploying to production is one click and five minutes away.
The one huge pitfall that we've had in this project was the fact that we chose to develop the app as a Windows Store App without investigating deployment possibilities which do not involve publishing the application to Windows Store. This is a process called sideloading, and i will not go deep into the technical requirements which Microsoft impends to enable this.
Our client will be using the application on 20~ Surface Pro tablets, and we are investigating into an automated release/deploy process for the application. As of this moment, we are using OneDrive to manage build artifacts and let the customer IT admin download the artifact from there to manually install the app on all clients. In the future, however, it is very possible that the organization who ordered the system will deploy this worldwide and there will be a requirement to deploy the application to hundreds, if not thousands of clients.
We spent entire weeks investigating whether Windows Intune can be a good platform for automated deployment of the application. If an organization installs the Intune platform, it's clients get the Company Portal which is like a private Store, where we could upload the app and updates to it in the future. There was, however, one big minus with the Company Portal - it has NO update management for Store Apps. That is, releasing a new version of our application to the Company Portal does not work like releasing a patch or update of your app to the Windows Store - there's no notification that there is a new version, and the application does not update itself. It's basically a new application that needs to be downloaded and installed after the previous version has been uninstalled.
Has anyone developed Windows Store Line-Of-Business applications which you had to sideload to multiple clients, and if so - which solution did you choose for update/patch management?
I am experiencing the exact same problem. Intune is indeed limited and too complex for many scenarios at the same time. Another option to "deploy" LOB Windows Store apps is described here: http://msdn.microsoft.com/en-us/library/windows/apps/jj657971.aspx. This covers the well known powershell deployment which is not very practical.
However, I have found an early stage, unofficial POC project on codeplex which I am currently investigating. You might want to take look at this: https://bootybay.codeplex.com/

Load testing: Choosing between a tool or simulating clients on my own for this scenario?

I want to load test my application and I'm deciding b/w choosing a load testing service or simulating the clients on my own.
My question is whether I can accomplish this user scenario using any of the load testing tools available.
My test will have two types of users, A & B. Communication would be between A and B. A-A communication and B-B communication is not there.
I want Users to login to my application through mobile or web. Either type of users could log in through either type of platform.
Make multiple GET/PUT/POST requests to my application server with specific parameters.
Be able to exchange video or text messages by integrating through services like Pusher and Vidyo.
'3' is probably the most important requirement for me, and I'm wondering if I could simulate the dummy users so that it listens to a pusher channel and can open up a Vidyo iframe in the emulated browser / mobile device for a specific pusher message?
I got on call with Blazemeter and turns out they or anyone in the market doesn't support plugins on emulated browsers. I finally simulated the clients on my own replicating all the server calls a typical browser or mobile device makes for my application.
I haven't yet been able to load test Vidyo and don't know if there's a way to do it except by opening up conferences manually.
I was able to load test services like Pusher and SQS successfully.

perform 2 way sync between online and offline databases

I'm building a webapp that has a mobile app companion. The mobile app can be used in offline mode.
What is the best way to keep the central database and the local database on the client apps in sync?
In this case, changes could be happening in the webapp and also on the local app in offline mode. How do I make sure that when a network connection is available, that both databases are in sync.
Keep in mind that the local app would only have a subset of the data. Ie.. only data pertinent to that user.
This seems like a common use case for apps. Is there an available framework for this?
Thank you.

Create a Web Service(WCF) to integrate with QuickBooks

I am in the process of integrating our custom web app with QuickBooks Enterprise 9. My thought is that I could use QuickBooks as my "database" of sorts. When a person creates an invoice, the invoice is actually stored only in QuickBooks. When a person views a list of invoices, they are actually viewing a list of QuickBooks invoices. I want to make sure the data is stored in only one location.
I realize that I could use the QB Web Connector, but the problem with that is I wouldn't have control over when the requests to QB actually get processed (That job is up to the Web Connector).
So I have my web UI to act as the QuickBooks "face," but I don't have any good way to get to and from the QuickBooks file located on an internal server. What I was thinking was that I could create a WCF web service and install it on the QuickBooks server. The web service could then be my integration point. My custom web app could then consume the web service and, viola, I have access to my QuickBooks files.
My question is this: Can a WCF app connect and run QuickBooks? If not, could i create a Windows service to act as my point of integration? If so, can my custom web app "consume" a windows service?
I'll start by warning you that QuickBooks probably isn't your best choice for a reliable back-end database accessible from a remote website. In fact... it's probably a really, really bad choice.
You should have your own application database, and then if you need to also exchange data with QuickBooks, do that outside of the normal lifecycle of your app, as a separate sync process.
QuickBooks generally isn't reliable enough for always-online type of applications due to a number of reasons:
Flaky SDK connections
Updates and single-user mode will
lock you out of accessing QuickBooks
Difficulty in establishing SDK connections from non-GUI processes (Windows Services and IIS processes)
With that said...
Yes, you could create a WCF web service, host it on the QuickBooks machine, and make your WCF web service relay messages to/from QuickBooks.
Yes, you could also create a Windows Service that does the same sort of thing.
Do NOT implement it as a Windows service, and do NOT implement it within IIS - instead implement it as a GUI app that runs alongside QuickBooks.
If you try to implement things as a Windows service or within IIS, the QuickBooks SDK requires you have a GUI available (it users a GUI COM message pump for events dispatching or something like that...) to process requests, so you'll probably need to use something like QBXMLRP2e.exe to straddle the process boundary between QuickBooks and your non-GUI Windows service/IIS. My experience has been that it's a gigantic pain in the butt, and requires mucking with DCOM permissions as well.
I have an example and some documentation on my QuickBooks integration wiki.
The IDN Forums are a good place to ask questions.
My recommendation to you would be to either:
Use the Web Connector and QuickBooks
and give up hope of keeping all of your data in one place. Cache the data in a real database, and update it by querying QuickBooks periodically. I'm almost done building a solution to do exactly this right now, and it works fantastic.
OR
Use a different account system. NetSuite is pretty nice. I'm not sure what else is out there, but if I were you I'd look for something SQL-based or with a strong SOAP/REST API.