Akka and Spring Integration comparison - akka

Was just listening to Josh Suereth's talk "Introduction to Actors Systems" on Devnexus 2013 and got excited. I am familiar with Enterprise Integration Patterns and have Spring Integration experience.
What benefits can Akka provide that Spring Integration can't handle?
Are they competitors or is there any use case where I would like to integrate them?

Thank you for your feeadback on the matter, first of all!
I'm not familiar with Akka and really not sure it does. Seems for me it is something similar what we have with Reactor.
From other side, if you familiar with Akka and with Spring Integration as well, the contribution is always welcome. We have an Extension Repo, where you can start a new project on the matter and we will follow with you PoC and go ahead with robust integration.
From other side I know that Apache Cammel has Akka extension (http://doc.akka.io/docs/akka/current/java/camel.html), so I don't see reason don't not support it from Spring Integration as well.
Yes, I haven't answered for your original question, but as I know no one from our team is familar with Akka.
Hope someone else share his wisdom here.

Related

How do I aggregate datafeeds from affiliate networks and online merchants using custom technology?

I want to build a software solution for datafeed aggregation. I dont want to use datafeed aggregation services like Rakuten PopShops or Datafeedr. I am looking for a guidance on how to build such solution from a software architecture point of view.
Which architectural design patterns should I use ?
Which technologies should I use ?
How to face the problem of non-normalized data formats and APIs from affiliate networks and merchants ?
Do you know some book on such topic ?
Since I am comming from a Java Enterprise world, these technologies seems to be a usable components of the solution for me:
Apache Camel,
ElasticSearch,
NoSQL database (MongoDB),
Akka,
ZeroMQ, RabbitMQ,
Spring Framework,
Typesafe Reactive Platform and a lot of other tools.
Unfortunately there is no single answer to your question. I would say stop thinking about solutions/patterns at this point. Try to figure out what exactly you want to do from a requirements perspective. What kind of data you want to aggregate, where to get the data from, data scrubbing rules, legal issues etc. Once you have that nailed down, take the easiest path to implement it. Technologies you have used in the past/comfortable with. Then add in other technologies once you find out that your existing solutions will not work.

Open source ESBs supporting web service transactions?

Do any of the major open source ESBs such as Mule or ServiceMix properly support web service transaction specifications (like http://en.wikipedia.org/wiki/WS-Atomic_Transaction)?
I've just briefly looked but it seems like support is not very good.
I would like to use the ESB to build macro services by composing from modular smaller services. I think this would be a pretty typical use of an ESB, and I don't see how you can implement anything practical if you don't have transactions.
WS Atomic Transaction is not in the list of supported WS-standards for Mule, so no luck here.
In term of design, the "transaction over SOAP" paradigm never really took off. Approaches likes stateful conversations with idempotent retries and compensations is usually what people prefer when integrating services over HTTP. It sure is more work than simply flipping the "transaction" switch on.

How to apply CORBA Notification Service?

I am ordered to apply CORBA Notification Service. I googled a lot. But all of the information is just introduction. It isn't helpful to apply this technique to a actual project.
Is there anyone can help me? Where can I start?
Thanks a lot.
Start with the examples and tests that are shipped with your notication service implementation. The one as part of TAO has a lot of examples and tests that provide a good starting point. Also check the OMG Notification service specification that is available from the OMG website at www.omg.org

Sample Flow Charts

I need to create a flowchart to show Developer computers, Development server, Development DB,
QA Server, QA DB, Staging Server, Staging DB, Production Server and Production DB as part of creating a process so that developers follow the same during the development to staging to production development cycle.
Could you please direct me to the right URL or resource.
Thanks in advance
If you're looking for inspiration, figure A in this post looks similar to what you're trying to do, albeit simplified slightly: http://blog.sysbliss.com/uncategorized/release-management-with-atlassian-bamboo-and-jira.html
I have used Microsoft Visio in the past for my flowcharts and it meets the basic needs.
Most of the standard components - servers etc are all there and you can usually find and download free stencils from the net for more specific needs
A process flow like you are talking about should be easily manageable using the standard stecils itself.
There seem to be a lot of online sites that provide this kind of service free lately.
You can check out this link. I have not used any of these before so cannot vouch for them though i did try out flowchart.com and it seemed pretty ok
You are looking for a tool to make network diagrams.
These are some candidates I found looking for Network Diagram at Google:
SmartDraw, A friend recommended it to me some time ago
Gliffy looks promising
To make a flowchart from source code is so complicated, but I found an code to flowchart converter software, it can create flowchart from source code automatically, I got this software from http://flowchart-creator.com. It is free to download and free to try.

what do contract-first and contract-last mean?

I am doing some research on web services. I have not written any web service but I am doing a small write up on them.
During my research I've come across terms contract-first and contract-last.
Can someone explain these two in an understandable form ?
To expound on the answer by Kaleb, contract-first is where you create the WSDL, and then you can create the implementation from this, and since the WSDL is your contract, this would be contract-first.
Contract-last is where the WSDL is created from the source code, or implementation, so it will most likely be generated by a tool rather than created by the developer.
Update:
For a nice explanation with code, in Java, you can look at this explanation from the Spring Web Services 1.5 documentation.
They will discuss the pros and cons, though they will be biased toward their approach (which is contract-first). Anyway, I think it is a nice explanation.
Contract-first means you design the way your services are going to communicate with each other before you design the services themselves.
Contract-last is the other way around – you design how your service is going to work, then make one or more methods available as the interface for other services.