What are the preferred platforms to implement TCP socket communication?
I'm interested in:
scripting languages (eg Swocket for Python)
and runtimes (eg .NET / Java).
In Java, we use Apache Mina,
http://mina.apache.org/
Its performance rivals C implementation.
Socket communication implemented using Java NIO might be a good method. Some of Java based web servers use it. I remember jetty using it. Here is a link from Sun.
Related
I'm currently working on creating a LabVIEW server and LabVIEW client for gRPC.
I would like to know if LabVIEW is one of the supported languages for protocol buffers for gRPC?
There is an open source repository where NI has been building tools to enable users to create a LabVIEW Server gRPC interface: https://github.com/ni/grpc-labview
There is not currently a lot of client support for gRPC in LabVIEW.
LabVIEW is not currently supported for gRPC, for official information on supported languages refer to the gRPC Languages page.
There have been attempts at implementation using either C++, .Net or Python integration but no official packages that I am aware of.
Full gRPC implementation in a language is a pretty complex process that must enable a language to build classes based on the configuration of a Protobuf definition file.
I already know enough about the Apache HTTP Server, but what are the other most popular web server types? And where I can get the programs and documentation on how to set them up?
that depends on which OS you are using.
in Linux the apache http in all his forms ( tomcat/catalina/httpd ) is the most common , afterwards the nginx is also quite common.
I am less familiar with windows but I think IIS is the most common in windows.
I want to ask about JBoss Middleware for ISO8583.
So, I kinda new on ISO8583, from what I know is we could use JPOS framework for this one. Then my supervisor ask me to research about JBoss Middleware that could be used to develop middleware application for send, receive, and parse ISO8583 message.
I have read on JBoss Middleware website, unfortunately I'm still not sure which JBoss technology should I use to develop such application.
Here is my questions:
1. In order develop enterprise application that capable to send, receive, and parse ISO8583, should I combine JPOS with JBoss Middleware? or JBoss Middleware has a complete capability to handle it?
2. Does anyone has/know good material/tutorial for me to learn about building ISO8583 middleware with JBoss technology?
Thank you.
JBoss Middleware is a family of products and its components alone do not provide ISO8583 capabilities out of the box.
jPOS is one of the most popular Java frameworks that provide complete capabilities to handle sending and receiving ISO8583 messages. There are other alternatives such as j8583 and IsoTypes.
You can combine any of these ISO8583 libraries together with JBoss Fuse (part of the JBoss Middleware family) to build a solution capable of sending, receiving and parsing ISO8583 messages.
I'm not aware of a definitive guide about building such solutions. If you need to use JBoss Middleware, you can follow this route:
Look into IsoTypes, which provides an ISO8583 marshalling library for Apache Camel (used by JBoss Fuse).
Start by building a Camel route that implements the IsoType library functions. Look into this sample project.
Please, be aware that building a production ready ISO8583 server and/or client from open source solutions require significant work in terms of scalability, information security and compatibility with multiple financial hosts and switches.
My answer only refers to the first basic steps to understand your problem/solution fit a bit better.
As a side note, you may be interested in looking at jreactive-8583, an ISO8583 connector that handles message parsing and the network layer out of the box. You may build your application using this and deploy it into JBoss Application Server (part of the JBoss Middleware family too). I use it in production.
You can take advantage of JPos Q2 and create a servlet deployable to JBoss container.
In the service init method you can do this:
Q2 q2 = new Q2();
q2.start();
Are there any websocket plugins for nodejs; I would like to develop some application that uses websockets.
Checkout Socket.IO - it's a widely used and powerful Node module for socket connections.
WebSocket-Node is a pure WebSocket implementation in node.js that supports the latest version of the WebSocket spec (version 8), and is still being actively maintained.
Otherwise Socket.io has broader browser support because it can fall back to things such as Flash Sockets, long lived iframes etc.
Like cmpolis mentioned, Socket.IO is excellent. Just upgraded to 0.8 too.
nowjs also provides a higher-level api if you like more abstraction.
Similar to nowjs, dnode allows you to call remote functions between the client and server and vice versa.
Here is a great SO answer delineating the differences between them.
Hosting an application on a web application server e.g. JBoss automatically brings in lots of app server specific functionalities with it e.g. security, clustering & load balancing etc. I have a situation where I have to develop a server app with which, legacy apps can talk to over TCP/IP socket as well as be highly available. Initially, I had though of using JBoss app server to leverage its clustering support for HA. However, I am not sure whether it would be possible to connect to a JBoss web app using pure TCP/IP sockets from both java and non-java apps.
What is the best way to achieve this without using web service or Http approach?
UPDATE: I am specially interested to know how legacy apps will connect to the hosted web app through TCP/IP socket.
A really simple solution to bridge the two worlds would be to add a simple Java server which maps the old TCP/IP requests to HTTP requests. This is probably a pretty braindead task, so this "server" will be simple to write and maintain. Also, this server won't need as much power since it just accepts and forwards connections (no business logic or DB code).
On the JBoss server, you develop like you normally would. The legacy apps connect to the little bridge server which passes the requests on to JBoss and translate the result back.
This ensures that you're building for the future: When new apps are developed, they can connect directly to JBoss and use all the great HTTP features.
There's no reason why you can't open up a normal socket in (say) a servlet application hosted in JBoss.
You can then get a byte stream from this. The headache is then to decide on a platform-independent representation of your messages, such that your client end can format and send such that the JBoss-hosted end can read. But it's all perfectly feasible.
I would implement a very simple http (1.0) client.