Im working in a proejct where in we have a java client and a C++ server. Now, the communication from the client to server is made in quite a few ways. Notably,
ict-icct calls [ this seems to be coraba related topic ]
Now, it is stated that SOA is usually preferred as it has relatively good advantages etc. But, I really do not understand how. Im unable to get a hold of how an SOA works.
So, could someone please point me to some good beginner level resources/books where I can have a look at this SOA?
P.S: I know that the first repsonse would be 'go and talk with your proj memebers'....but most of my colleages here do not work on SOA and the SOA part is usually mainteined by 4-5 people who are damn busy.
Also, we have LOOSE/STRONG SOA, which are relaly confusing.
SOA means service oriented architecture and does not mandate any particular underlying technology, despite often being associated with SOAP web services.
You can use RESTful web services, you can use XML web services or anything you wish that, in your case, facilitate communication between a client written in Java and a service written in C++.
So, before being able to give any advise, I will have to ask: What underlying technology do you use?
A service-oriented architecture is fundamentally a business concept. There are technical implementations that address the technical aspects of of a SOA, but the decision making, analysis, governance, etc. all fall into the business arena. And should fall first. Building a SOA is very complex and requires high-level business leadership, sponsorship and commitment. Typically ranging in at least 5, and most likely 10 years to fully implement. That's a lot of time to get things wrong.
Keep in mind that web services and SOA methodology are not the same thing. Even though they share the same term "service."
For example, you can use a set of web services in your environment and still not have a SOA. And you can certainly build a SOA without using any web services.
"Services" in the acronym SOA refer to "business services" not web services. "Create travel reservation" or "Process customer purchase" would be business services of a SOA. An organization builds a SOA by creating reusable business services, composite services, transactional services, data-oriented services, all focused on one or more underlying business drivers/services.
"Web" services on the other hand are simple integration mechanisms to allow two or more applications to communicate with each other. They are an alternative to messaging.