Where is a good place to start with making an application in .NET that communicates through OPC? [closed] - automation

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 5 years ago.
Improve this question
Where is a good place to start with making an application in .NET that communicates through OPC?

You can find a good article and a library to start with here: http://www.codeproject.com/KB/COM/opcdotnet.aspx

The Code Project article is from the early days of .NET and may not be the best option today.
Alternatives include OPC Foundation's own .NET API (requires OPC Foundation membership) or several commercial products. OPCconnect.com lists a number of these.

Be careful. I haven't used an OPC API yet that properly conforms to any sort of calling conventions, particularily in the area of freeing memory (COM, as documented, or otherwise). Expect a month of debugging memory leaks.

SoftwareToolbox's OPCData.NET (http://www.opcdata.net/) claims to be a 100% Managed code solution for OPC Client. SoftwareToolbox also has some other OPC libraries to help with binding OPC data to forms and web interfaces.

If buying a comercial toolkit is an option I've used the Northern Dynamics server toolkit and it worked fine. A toolkit will take away a lot of the issues mentioned in the other questions (or at least you should get support if there's a problem).
They've wrapped the OPC protocol up nicely so it makes it easy to use. See one of my questions here for a type-safe Variant wrapper that I wrote to help with this.

Related

Questions about GemStone/S [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 2 years ago.
Improve this question
I'm having a hard time understanding the big picture of GemStone for Smalltalk. I am aware of GLASS as an application server using Linux, Seaside and Apache. But I want to know if it is an usable environment for non-Seaside applications.
I'm also having trouble to finding some basic questions:
It is not clear to me if GLASS or GemStone/S is independent of the VM used. For example if I'm using a VM which supports black threads, does that mean that the GemStone/S will work transparently?
For what I've seen also it is not useful for 3D applications. For example, if my application developed in Pharo or VisualWorks uses OpenGL, may I consider GemStone/S for scaling up?
I've read that you may have objects in VisualWorks and objects in GemStone/S, but this confuses me a lot. How do I know if the object I've just created it is already persisted or in "client" side? In which case I need GemBuilder?
To get an understanding of the big picture of Gemstone/S, you can read Gemstone 101.
Many of your questions should be answered and some of them are also not applicable. For example, Gemstone/S is a complete Smalltalk implementation with its own VM. It also does not have a visual interface like Pharo, Squeak or Visualworks.
Suggestion: You need to split the question into several ones.
For example:
Is GLASS or GemStone/S independent of the VM used?
No, as far as I understand the question. GemStone needs its own VM. You cannot run GemStone on a VM of another Smalltalk.

"Reverse Engineering" App Architecture [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
I inherited an old app, written in C#/.NET 2.0. (un)Luckily there was no documentation - not even comments. So as I'm adding enhancements to the application based on new requirements I'm also building a mental model of what the app does and how it does it - architecture in other words.
I was wondering what tools exist out there to "deconstruct" the app and go from raw code to something higher level? The app's not really heavy in OO - in fact one of the objects used is called a "function". It's mostly just a bunch of methods - a lot methods that seem to jump out of nowhere.
I want to translate the raw code to some sort of requirements doc stating what the app does and how it executes. What's the best way to do it? Are there any apps out there that can help me? Maybe templates of what I should/should not include? Maybe books/sites that you recommend? The goal is to provide documentation for me and for future developers maintaining the app.
Personally, I would start with Robert C Martin's Agile book, and Eric Evan's book on Domain Driven Design. Those are theory books, but Uncle Bob's book specifically talks about revamping code to be manageable, just like your situation.
It's pretty essential to layer your software so you can start to remove dependencies, which will make everything very simple and easy to maintain.
I am a database guy, so I started with a good ORM like Entity Framework or Fluent NHibernate. I prefer websites, so I went with ASP.NET's MVC 2, then started writing all the parts of those books, namely a data Repository, Services to pull data and Control to push it. MVC is a very nice separation of data concerns and "View" concerns which are your screens. Before long, you would have very clean and easily maintained software.
If you are using VS 2010, you can see a menu with the name: Architecture. Using this tool, you can create a dependency graph of your application, you can use it as described in the following:
Link

(My)SQL in Flex - any good libraries? [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 7 years ago.
Improve this question
I need to develop a small Flex application that needs to access a MySQL database. Since I have little experience in server-side Java, PHP programming I would prefer to use a library/framework that allows me to write SQL queries in ActionScript/MXML.
After a bit of research, I have come across two 3rd party libraries, AS3FlexDB(free) and Adobe Flex Connector for MySQL(45$). Initial tests with AS3FlexDB are promising, but I'm a bit afraid that I'll start to work on the project only to find out that I need a full-fledged back-end after all.
Do any of you have experience with these tools? If so, are they stable enough for production? Are there any such libraries for other relational databases(PostgreSQL in particular)?
Thank you!
Lawrence
this and CRUD like this and read this
AS SQL Lib and another one CRUD
and final happiness
Flex is a UI Framework and is not designed for database interaction. I strongly recommend you reconsider the approach and learn a server side language. You'll thank yourself in the long run.
that said, another option is FlexSQL. This is the first time I've heard of the two you mentioned.
I have no idea why people keep building these libraries. It's like trying to use a screwdriver and nails together. It is, in theory possible but better tools exist.
I agree that server-side db interaction is the way to go, but nobody has mentioned the possibility of web services. Use this article to create a number of web services that your flex client can connect to directly.

How to know that, the system you are building is a better as Desktop Application than an Web Application? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
How to know that, the system you are building is a better as Desktop Application than an Web Application?
My top 3:
I need to use/control the hardware directly (printer, graphic card...).
I don't care if my project is platform dependant.
Need complex user interface (OK Web 2.0 is better than ever, but it's still hell to make advanced specialized stuff to work in all Web browsers).
Interesting question. in practice the answer hinges primarily on the deployment requirements:
If you want very broad and "instant" deployment - then use HTML and HTTP.
if you or your organization have administrative control over the computers on which the app will be deployed, making it a "desktop app" is acceptable.
Most apps lie between those extremes.
It depends on your target audience, desired features, and what delivery method makes the most sense.
It might help to answer these questions:
1) Who will use this?
2) What will they do with it? (think about thinks like media operations, data storage,..)
3) How will they best be able to get this app?
4) What operating system(s) will it support?

Software Environment Documentation Checklist [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 5 years ago.
Improve this question
I work for a insurance company. We have our own development department made-up of almost 150 people plus some providers (outsourcing and custom made apps pretty much). In our company my team have made what we call non-functional logic libraries. That is, software libraries to handle things that are horizontal to all the development teams in our department, e.g. Security, Webservices, Logging, Messaging and so on. Most or these tools are either made from scratch or adaptation of a de-facto standard. For example our logger is an appender based on Log4J that also saves the logging messages into a DB. We also define what libraries to use in the application, for example which framework for webservices to use. We use pretty much JavaEE and Oracle AS in all our organization (with some Websphere Application servers).
Much of these projects have their architecture documented (use cases, UML diagrams, etc) and generally the generated documentation are available.
Now what we have seen is that for users sometimes is difficult to use the the libraries we provide and the are constantly asking question or they simply don't use them.
So we are planning to generate a more friendly documentation for them, so my question is:
What are the best practices or the checklist that software documentation should have?
Something comes to my mind:
API Reference guide
Quick start Tutorial
API Generated Documentation.
Must be searchable
Web Access
What else should it have? Also, based in your experience what is the best way to maintain (keep it up-to-date) and publish this type of documentation?
Keep your documentation in version control too.
Make sure on every page it has a version number so you know where your user has been reading from.
Get a CI server going and push documentation to a LIVE documentation site upon updates.
Do documentation reviews like you would code reviews.
Dog-food it :)
Kindness,
Dan