|
|
Akka[^]
I've tried Akka, it's beautiful there.
Yes, it's the eponym of Akka.
|
|
|
|
|
You lost me at 'JAVA'...
|
|
|
|
|
This might help you find your way. Akka.Net[^]
|
|
|
|
|
Check out Hiveware. It is both a distributed decentralized app builder and a platform. It's written in C++ and Windows based. Because web apps are inherently insecure, its apps are native code. It has no servers at all and is not blockchain based (that is, is not an Altcoin). Because it maintains state (unheard of on the internet), its digital objects become unique digital assets that can be bought and sold. Its smart contracts determine the digital behavior between ancestor and descendant only. No central authority or need for "consensus" or "stakes". It has infinite scale-ability because its database is not client/server. It is not ready for full distribution yet however.
Is it the best? We won't know until it becomes generally available and stands the test of time and a million people kicking it security, privacy and ownership claims.
|
|
|
|
|
Please don't repost if your message does not appear immediately: all of these went to moderation and required a human being to review them for publication. In order to prevent you being kicked off as a spammer, all had to be accepted, and then I have to clean up the spares. Have a little patience, please!
I've deleted the "spares"
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Distributive programming is not about a framework or a set of tools. Instead it is a paradigm in how you set up an application for multiple users to access concurrently.
Prior to the advent of the Internet, distributed systems were most commonly known as client-server systems, which to this day are still the best way to develop internalized systems for companies and organizations. Not being on the Internet, they are closed-loop systems that have a much greater degree of security just by their design and implementation.
Microsoft's Remoting package when it was first released with .NET 1.0 was and still is the best way to create a distributed system system since it allows for the transfer of data in binary form, which is very difficult to breach. Databases for such systems, as they are not available to the Internet just like the distributed applications they support, are much safer from breaches as well.
However, Remoting lost a lot of its potential as a result of its added complexities and the advent of stronger Internet development options such as web services. Nonetheless, Microsoft's Windows Communications Foundation (WCF) still supports Remoting with various protocols that allow for this form of secure, distributed development.
This is not to say client-server systems cannot be breached but the are significantly more difficult to do so and most often require an inside person to assist since outsiders cannot simply ride an Internet connection into them.
Client-Server systems have also been known as n-tiered systems as they are broken down among a set of tiers; the interface, the middle-tier (which can consist of several related tiers working with each other but separated as accessible sets of objects [ie: singleton or multiple threaded]), the database interface tier (ie: data access layer; ORM framework), and the database itself.
How these tiers are setup is up to the application\system designers and developers.
The Internet destroyed this more secure concept of distributed systems since it was not only new but promised tremendous levels of concurrency whereas the client-server systems, though could be scaled for high concurrency, required more sophisticated design techniques and were often limited to departmental or divisional scales of distribution.
Internet development also brought with it a less succinct form of implementation, though it was still called distributed systems development, in reality it has simply devolved to that of a thin (WebForms) or fat client (MVC) and the database access with the middle tier simply residing on the same server as the database, which is what also allowed for greater breaches of the databases.
Despite this, Internet development does allow for concurrency levels on a scale that client-server systems would require greater design sophistication to match.
Now that Corporate America has successfully destroyed the various and vital components of standardized quality development processes (and individual departments) in the past 25 years or so, developers have been increasingly burdened with designing, securing, an deploying their own creations on the Internet, in which such development has been subjugated to the whims of technical vendors and younger generations who somehow have been duped into believing that the use of far more complexity than is necessary (ie: MVC and its many supporting frameworks, which are mostly based on the arcane language of JavaScript) is the only way scalable, concurrent systems can and should be developed.
This is a fallacy which is being born out by the increasing breaches of confidential data storage systems on a regular basis directly as a result of the additional complexities that developers are now forced to work with while ignoring other development options that may be far easier to implement while also being more inherently secure...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Considering that I'm just trying to distribute the workload of a math program that I wrote and do not need anything fancy, your first sentence probably says it all. I was hoping for a bare-bones app or framework that has all that ready and allows you to add your own client or program with minimal effort. Unfortunately, I'm not seeing anything that simplistic. I may just do as you suggest and create my own program to do just that.
Of course, using an established program such as BOINC does allow me to tap their end-users potentially.
|
|
|
|
|
Can you describe exactly what you are trying to do with this math program?
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
|
I did not receive anything in my inbox from you as of yet...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
It should come from CodeProject since I don't know your email. Check your spam folder.
|
|
|
|
|
Nope, nothing is in my email from you that has an attachment. I checked my inboxes, my junk folder, and my deleted items folder just to ensure I didn't delete it by accident...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
I sent you an email from CodeProject directly. You should receive another email from CP directly. It should have a link.
|
|
|
|
|
OK, I got your link and read it.
So what are you attempting to do here; set up some type of repository or distribute your mathematical theorem?
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Both. Considering the numbers being generated and the quantity, I would like to distribute the workload across many users. I was hoping to use an existing framework and server that already had many users (e.g., BOINC).
|
|
|
|
|
What this sounds like is you want to distribute the internal processes among many machines in order to speed up the time it takes to complete a process.
If this is the case, than this is not a distributed system in the sense that I was talking about but more of a system in which you want to be able to implement distributed or parallel processing among the various internal tasks. As such, tasks a, b, and c would be sent to workstation-a, while tasks d, e, and f would be sent to workstation-b, for example.
Here is a link to some Microsoft documentation for implementing parallel processing in the .NET environment... https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/
Please let me know if I have understood your requirement properly...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
This doesn't quite give me what I want. I was hoping for a framework with a base of users (e.g., BOINC) that I could tap into. My only issue with BOINC is that it does not have a bare-bones container that would require minimum customization and configuration of my program to distribute the work. I need to think about this some more.
Thanks for the feedback!
|
|
|
|
|
Thanks, that's an interesting point of view (and stuff for an article on CodeProject)
|
|
|
|
|
Are whiteboards pretty remarkable?
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Whiteboards are useless - the chalk doesn't show up at all like it did on the old blackboards. Why do they have to keep changing things just for the sake of it? I bet these whiteboards only exist to show new icons better.
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Not impressed. Tell me when you have race fluid boards.
I guess you did not see that coming
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
|
So, you blackball whiteboards? How... plano-phobic of you!
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Toronto!
Guess whom I'm going to visit?
Yup, Code Project headquarters! The only thing worth seeing in Toronto!
|
|
|
|