R
R
random2015-01-22 19:02:04
Java
random, 2015-01-22 19:02:04

Which framework to choose for writing a Web Service?

Добрый вечер, нужно написать вэб сервис, который для передачи данных используется транспортный протокол (TCP), протокол передачи гипертекста (HTTP), а также стек протоколов и стандартов web-
сервисов (WSDL/SOAP). Обмен между сообщениями будет в XML-формате, в режиме запрос/ответ, при этом данные будут хранится в бд. Какой framework более удобный в использование, учитывая что я не имею опыта в написание вэб сервиса? Apache Camel(с ним не знаком) или Spring Integration(со спрингом немного знаком)? В наличии есть WSDL, XML - схемы.
Так же хотел обратиться, если кому интересно, или просто захочет помочь, пишите на почту: [email protected] (Мне нужна, просто консультация в таких вопросах как: с чего начать и т.д)
Буду благодарен любому отклику!

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Alexey Cheremisin, 2015-01-22
@leahch

I dare to recommend not messing with xml, xsd, xslt, ws, and everything connected with it. This is the road to hell, hell. It will seem to you that you have discovered a bunch of beautiful and pleasant technologies, but then you opened a Pandora's box, smelling of mothballs 20 years ago.
And if a teacher says it's cool, laugh in his face.
In the world, everyone has long been using more lightweight technologies such as json, stomp, amqp, rest, and so on. Pass data in json via amqp, and update with rest-based services via http. And for this you do not need to drag megabyte frameworks, do transformations, write out mappings and debug with a slide rule. It will work anytime and anywhere in conjunction with any client and programming language.
PS. worked with apache axis and with servise mix and with a bunch of other miscellaneous things under xml. Well, look at apache cxf, but in my opinion everything is from one barrel of naphthalene .. habrahabr.ru/post/137543
PPS. And yes, read the comments to the article, they rule: "why write kilometer-long xml just to return the date and time", that's right, the lyrics ...

V
Vladimir Smirnov, 2015-01-23
@bobzer

Usually, web services run under the control of a container - an application server. Almost all modern application servers have web service support out of the box. According to the Java EE specifications, when developing a web service, you simply specify certain annotations on your Java class (@WebService, @WebMethod) to tell the container server that it should deploy this class as a web service. During development, you are not required to know which framework will be responsible for publishing your web service in a container (application server). If you don't already have a server application, then you need to create one by selecting the application server first (for example, TomEE, WildFly aka JBoss). You create an application (.war) that contains a class with web service annotations and, for example, JBoss will find this class itself and deploy the web service. As a web service framework, application servers usually use CXF.
As for how old and bad SOAP is, these are purely personal opinions, I advise you not to bother until you figure it out yourself. Yes, XML is heavy in terms of the consumption of hardware resources (which is cheaper than the labor of a programmer), but personally, I have not yet seen a single standard that would be so convenient when integrating a wide variety of information systems. For example, I once tried to find a language for describing REST services, and did not find anything. Here I will deploy a complex REST service, and then explain to each developer on the fingers what and where? And when I explain, he will have to sit down and manually draw everything. REST/JSON are only good as long as you use them within the same System, for example, to exchange data between a client and a server. But when you integrate several completely different platforms, which are also developed by programmers with different levels of professionalism,

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question