Orchestration and Choregraphie in SOA are they a deprecated architectures? [closed] - java

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 6 years ago.
Improve this question
About 3 month ago, I was charged to do a presentation and a demo explaining what is SOA composition.it wasn't easy to do it because latest eclipse version (neon) doesn't support BPEL projects any more, Eclipse Luna and an extension helped me in this situation.
From that time there's some questions that roam around in my mind :
why there's no new tutoriel about SOA composition ?
Are these architectures are deprecated ? if yes why are they ?

I do think (and this is an opinion) that SOAP/SOA/ESB/BPEL is obsolete and taken over by RESTful Architectures. By RESTful I don't mean things that have a primitive JSON+HTTP API, but real distributed applications, where endpoints are not dumb, but define the part of the workflow that belongs to them.
So, the two conceptual things colliding are: Do I want a central "smart" component (like ESB, and pure BPEL services) and dumb (for example SOAP) endpoints. Or do I rather have no central components and smart "endpoints" (like REST resources).
I think conceptually the latter is the clear winner in many cases (not all arguably). There are practical problems however. Companies always like to centralize. Centralization looks "neat" and "tidy", especially for an Enterprise Architect. Until the central components grow out of proportions that is.
One of my clients introduced an ESB just last year, so it's definitely not over. But I do think (again, this is just my opinion), that we already tried centralized architectures and monoliths. They always end in the "legacy system" bin, that can not be replaced because it does everything. So we know where they lead, we need to try something different. :)

Related

Android game development - Should I use a framework like AndEngine? [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 8 years ago.
Improve this question
I am going to develop a (relatively) simple game for the Android platform.
It's gonna be 2D-Game (no heavy stuff, maybe simple animations)
I am considering using a framework (like AndEngine)
What are the advantages/disadvantages of using a framework? (rather than developing from scratch)
Thanks!
Well this can be a broad subject, nonetheless I'll toss in my 2 cents.
There are plenty of advantages using a framework and this applies to many other scenarios. Just think of a framework as a bridge to shorten the path and not have to reinvent the wheel.
A framework will pretty much handle the boring plumbing you would have to do otherwise.
Using a framework will, in most cases, make you code faster and some will probably «force» you to code in a cleaner and more organized fashion. Although this has much more to do with the programmer itself...but there are opinionated frameworks out there that will at least lead you the way.
The biggest disadvantage is not using a framework in itself, but picking the right framework. I think you have to make a few questions before deciding to pick Framework A, B or C such as : Is it sufficientlly mature for my needs? Does it have a good community or vendor support? Is it here to stay? What happens if the framework loses pace or support? Will I be in trouble?
There are other disadvantages of course. You may be putting yourself open to the risk of learning the Framework and neglecting the language behind it. For example, you may know jQuery but it's not liquid that you know javascript. See where I'm going?
Also, you can find yourself shackled by the framework limits. You may not be able to have full control of the code you write or at least not be able to express your code better because the framework it self has tight bounds. In other words, you are forced to respect its limits and work the way it is required. Again, pick the right framework for your needs.
I hope this helped.

What is the purpose of google guava libraries? [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 8 years ago.
Improve this question
They seem identical to java.util counterparts.
In a project I have to review these apis are used and an external jar is present for that.
But...in what they are different from java.util ones?
The Guava libraries, much like the Apache Commons libraries, are intended to complement the core java libraries, as outlined in the Philosophy Explained document:
Guava is a productivity multiplier for Java projects across the board: we aim to make
working in the Java language more pleasant and more productive. The JDK utilities, e.g.
the Collections API, have been widely adopted and have significantly simplified virtually
all Java code. We hope to continue in that tradition.
That article goes on to explain how they realise that you could implement the procedures they provide to fill the gaps in the core API yourself, but believe there are a number of advantages to using their code:
Guava has been battle-tested in production at Google.
Guava has staggering numbers of unit tests: as of July 2012, the guava-tests package
includes over 286,000 individual test cases. Most of these are automatically generated,
not written by hand, but Guava's test coverage is extremely thorough, especially for
com.google.common.collect.
Guava is under active development and has a strong, vocal, and involved user base.
The best libraries seem obvious in retrospect, but achieving this state is notoriously
challenging.

Spring framework goals explanation [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 9 years ago.
Improve this question
When I started to learn a Spring Faramework I focused my attention on specific details but not on clue and global concepts. Actually I can't grasp some of Spring framework goals.
May be this question too wide, but I don't see any sense to divide it into few separate questions. I don't expect that you answer all my question, but at least one of them.
Spring framework goals:
Make J2EE easier to use
Address end-to-end requirements rather than one tier
Eliminate need for middle tier “glue”
Provide the best Inversion of Control solution
Provide a pure Java AOP implementation, focused on solving common problems in J2EE
Fully portable across application servers
“Non-invasive” framework
Facilitate unit testing
Facilitate OO best practice
Provide a good alternative to EJB for many applications
Enhance productivity compared to “traditional” J2EE approaches
Questions:
1). Easier to use? By mean of what? And comparing with whom? It seems for me that comparing with pure J2EE each framework provide ease of use. Please more details and examples.
2). Don't understand this point. What is end-to-end requirements?
3). Don't understand this point.
6). Does it mean that another Spring alternatives isn't portable via app servers? Isn't EJB portable?
9). Isn't it the same as 4th point.
11). Please some examples of that non-productive J2EE approaches.
You can go through below links to know more :
spring forum
spring-3-0-vs-java-ee-6-0
Spring vs Java EE
Why Java EE Lost and Spring Won

WebSocket: best solution for back-end [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 9 years ago.
Improve this question
Evented web apps are an hot topics these days, but it appears there is not a unique solution for that. Especially for the back-end side, independently from the programming language.
I open this topics to discuss about the various solutions offered to the community.
I tried Atmosphere, but the experience was a bit frustrating.
I spend a lot of time playing with this framework and I ended up that it was not completely developer-friendly. First of all is a maven-based project: in addition to the documentation a developer has to learn (or at least to know) how maven works and what's a pom.xml is.
Concepts looks easy, but it's plenty of java annotations, that in my opinion tends the make things too complex. The strength of this framework is that is able to decide and use the protocols supported by the client.
From what I have read node.js appears to be the more developer-friendly.
What do you think about these technologies?
I am the project leader of CometD, which is a web messaging framework that is transport agnostic (websocket with fallback to http) and ships a lot of features like message acknowledgement and clustering and many others.
CometD is also based on Maven, but its artifacts can be consumed with any other build system you already have (Ant, Ivy, Gradle, etc.).
CometD concepts are pretty simple, and you can write services that are either annotated or use inheritance.
CometD scalability is awesome: a single server in our load testing was able to handle 200k websocket clients, and other people reached even more (https://twitter.com/myBuzzNight/status/388024046027161600).
The CometD learning curve is quite low, from the reports I have.
One guy setup e-chat.co in few days.
You can setup a skeleton CometD project with a one liner or even use a pre-made skeleton project used by the CometD tutorials.
JavaScript being the language it is, you'll probably find that if your project grows beyond a certain size you want to stay with a statically typed language like Java for its refactorings, tools, IDEs, etc., not to mention the tools that are available for the JVM for monitoring/management, etc.
The scalability of the JVM in multithreaded scenarios like server-side event-driven applications is well known.
Like other solutions, CometD is backed by a company in case you need professional support.
I highly recommend node.js.
It's coded in javascript, and I personally really like being able to stick to web languages.
Also, you can use socket.io, which implements websockets using node.js.

Is Hadoop a good open-source project to join? [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 7 years ago.
Improve this question
I've been learning Java for the last 2 months with a Core Java book. Now I want to write something real, but at first I decided that I need to improve my knoweledge about algorithms and data sturctures so I'm currently reading a book on that.
I want to join an open-source project which is mature enough to learn from it but is still growing so I can really contribute to it. I browsed the whole apache and sourceforge looking for something interesting and the project I became really excited about is Apache Hadoop. Although it's quite complicated I don't think it's going to be a problem if I'm interested enough.
So the question is: does anybody here has expereince contributing to Hadoop? What can you say? Is there enough room for futrher development?
Yes, Hadoop has a whole ecosystem of projects to get associated with. Like HDFS, Hadoop Map-Reduce, Pig, Hive, Oozie etc. You might poke around using any of the VMs available like http://www.cloudera.com/downloads/
This will help you get acquainted with what all different projects are involved and thereafter you can contribute to make things better.
cheers
We certainly always welcome new contributors. Although it sounds trite, all open-source projects, Hadoop included, need improved documentation and tests. While this work may not be the sexiest, it does provide new contributors with experience in the code and the opportunity to provide useful patches that committers love to see. I'd caution against an anti-pattern I often see: announcing or signing up for too much work or suggesting too radical a change before establishing experience and credentials within the project.
There's always room for further development.

Categories

Resources