How to handle data synchronisation between 2 Spring apps? [closed] - java

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I'm looking for the optimal way to handle the following scenario, preferably some implementation that's already been made for something like this.
There are two Systems (Springboot Webapps) that are supposed to communicate which each other through a Rest-gateway. Transfers shall be handled with Json over HTTP.
1st System is the Project part, 2nd System is the Persons part and they both implement their own persistent sql-database. Both systems depend on each others data and it cannot be expected that both systems are online at all times.
What would be the best way to achieve that both systems data is always up 2 date? Is there any plugin you could recommend to handle the synchronization process which also implements scenarios like one system shutting down while sending or the other way round?
Thanks in advance!

If you can't expect both systems to be online at all times, and you don't want any downtime when one of them is down, I think that the best way to do it is to share a common database. This has some problems of its own and you should think if it's worth, maybe you would be better having two completely independent services which rely on each other and being ready to replicate one of them if it's needed.

Related

FIX market data, QuickFIX or something else? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I'm looking into the possibilities to build a small JAVA application that imports real FOREX data and store it to analyze later. With this data I want to help a friend to make an algorithm. After this, the app have to also handle real transactions. Still in the orientation phase, but I do not want to waste time with implementation x and then later on find out it had to be done with implementation y.
So importing data has to be FREE, RELIABLE and FAST enough to handle future transactions based on this data.
So far I have two options;
1. Json requests to a third party, which I read is kinda slow, but I already have an idea of how I would implement it.
2. QuickFIX, used by many professional parties, but very new to me.
Json question:
Slow in a way that the data input isn't analyzed correctly and an application with algorithm has problems to work?
QuickFIX question:
Where do you get an account and the actual data from? I get the implementation, but it is unclear to me with what account QuickFIX works with and which parties I should look at.
So in a nutshell; what is the best way to go when I want trustworthy FREE data, which is FAST and RELIABLE enough to make transactions with?
Thanks in advance!
You need an account with a market data provider to get market data.
I don't know if this has changed but the last time I checked there was no access to real time market data for free. At most delayed by 15 minutes. But I do not recall if this was even via FIX protocol.
NB: you really might want to look at QuickFIX/J (since you are looking for a Java implementation)
Cheers,
Chris.

Best way to transmit data between two applications [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
What is the best way to transmit data between two (Java) applications running on the same machine? One obvious idea would be to use standard Sockets but this doesn't feel right.
I've heard that most operating systems have a built-in system specifically for this task. How is it called and how does it work?
And is there any other good method to do something like that?
I think it depends on what you want to communicate between the applications and the size of your project. Some examples:
Sharing of state - use a database, files or similar
Messaging - use a socket. On top of a socket you have several technologies you can leverage, like HTTP/REST, but you can also create your own transport
There are also message applications you can leverage, like RabbitMQ

Making a program to be updated by users [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I'm trying to make a prototype for the company that I'm interning for. I would like to create a program that allows users to make minor updates that will, within 15ish seconds or so, update on everyone's screen. This program will only be used by about 20 people at one time at the most. For instance, if a person were to type click a button that went from red to green, the change to green would show on everyone's screen. I only know Java, but I'm not opposed to learning other languages. I'm just looking for places to read about this type of stuff, or ways that you know to do it.
I'm also hoping to allow an admin account to make usernames for people with differing amounts of access to making updates, but this is the later part to my project.
Thanks
With only 20 users or so, your options are pretty much wide open. You can use TCP or UDP, a web server with HTTP. I'd use TCP myself.
It will be easy to update only 20 people with small updates within 15 seconds.
Here's how to create a TCP server in C#.net
Here's how to create a simple TCP server in Java.
I suggest using ProtoBufs for the binary protocol. Its simple, compact, and allows you to change your language without needing to rewrite protocol parsing/unparsing code.

Data storage management [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 8 years ago.
Improve this question
I have a task to create a store system. The language that I use to program is Java and the information MUST to be saved in the pc where the program runs.
As far as I know Access does that perfectly when it comes to Visual Basic since I can use the Access interface and edit some cdoe with VB.
Another option I thought of is creating some kind of my own import/export system that will save the information into files and loads them when needed which will require a lot of extra coding.
So what should I do? What is the best way to do that with Java?
The standard way to do it would probably be to use an SQL database such as sqlite or mysql, but it depends a lot on what sort of system you're designing. Options are really,
SQL Database (such as sqlite)
NoSQL Database (such as couchdb)
Object serialization. You could just serialize objects and dump them to files.
Do you need to handle concurrency with multiple programs reading and writing to the database? Do you need low risk of data loss or corruption, or could you sacrifice some data safety for a quick and easy implementation? Do you need to store a lot of data or just some? How fast does it need to be accessed, and is it accessed all at once or do you need to query certain things?
We'd really need answers to all of those questions to be able to give you a good answer for what's best.

what approach should I take in heavy iterations? [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 got this Java webapp (JSP+Struts+Hibernate+MySQL+tomcat6) in which there are like 20000 users right now and the number is growing up rapidly. I have to rank all the users periodically. The ranking process involves lots of objects and hibernate actions and it's fairly heavy. Talking java, unfortunately I must iterate on all of the users and apply this procedure in them one by one. this method sucks out lots of the server's resources.
on the other hand I might be able to run all these actions in a stored procedure on the MySQL side. I'm pretty sure the code there will be a complete mess and troublesome to modify later on. although the performance would be much more better this way but software engineering principles wouldn't take this solution nicely.
what do you suggest?
This is obviously much more efficient in SQL. The real problem is that you are using hibernate and so have lost control over your schema which is why a solution like iBatis, although less popular, makes more sense - because it allows you to switch to SQL when that is the more appropriate tool for the job.
Given that you have chosen hibernate, are you sure that you can't push the API it provides into doing this? Have you looked in detail at the criteria API? That includes associations - it might be possible to shoe-horn what you want in there and so keep the logic more closely associated with the classes. http://docs.jboss.org/hibernate/stable/core/reference/en-US/html/querycriteria.html

Categories