How to Replace Web Service Binding - Tuscany SCA with Spring from scratch - spring

I have had some experience of developing web services (standalone) which are called via angularjs single page apps. But, I now have a Java EE task which involves the following:
1. Removing a Tuscany SCA web service binding from some business components e.g. Customer, Accounts. The components are exposed as web services
2. Replacing the Tuscany Binding with a Spring Injection web service binding.
NOTE: The decision to replace Tuscany SCA with Spring is already made.
But, as a developer with experience of developing web service without any knowledge of the binding frameworks. I need some understanding of what these frameworks are, how I can wire this framework to my web service from scratch.
I don't just want to copy and paste and do try and error on a commercial project.
I am afraid, there was no KT, hence I am learning this the hard way!
Please, can someone help me in understanding this underlying framework or binding.
What are this binding or binding frameworks?
Why do we need them?
How is Tuscany SCA different from Spring?
Any help good, practical, code sample, online references etc will be appreciated.
Thanks.

You are not clear with concept of SOA, SCA and Tuscany.
First understand which type of webservice is written in your project whether RESTFul or SOAP. And then understand how SCA + Tuscany service is written for for RESTFul/SOAP service and then try to remove Tuscany from it.
Reference docs:
http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html
http://www.springsource.org/spring-integration

Related

Service Layer with WebApi

I am starting to work on a new project so working on laying on the architechture at this moment.
So basically we want to keep a service oriented architecture using MVC web api.
So I had the following structure in mind:
Project.Core (All Poco classes)
Proect.Data (All entity framerwork)
Project.Service (All Web API ??)
Project.Web
We would be working for the first time on webapi here. So wanted to know how do we intergrate webapi here.
Most of the articles we saw read had created a mvc web application and had selected webapi in that. But we
were looking to create separate service layer just for webapi. Is this the correct practice to do that or
I am missing something here.
We basically wanted not to have a tight coupling b.w MVC web and web api here. If we create web api as part
of mvc then how can we separately access our web api.
WOuld appreciate inputs.
I normally use the project template provided by Visual Studio. Choose Empty ASP.NET project template and then select Add folders and references for Web API. It will create the folder structure needed/recommended purely for a Web API project without any MVC reference. I generally create a separate project for Data Access and use that from the Web API project.

How can i apply Policy sets to SCA individual web service methods in websphere

I have deployed a Tuscany SCA component (developed in IBM Rational Application Developer) to WebSphere 8.5. It has a Web Service binding, with 5 methods. I want to apply different Policy Sets to each method. However, in the Admin Console, under Service Providers, I can only see the Service, and the Endpoint - ie No Operations are listed.
I can do this just fine at the Operation level with regular JAX-WS service components.
This is day 2 of trying to solve this. I've tried all of the SCA Annotations in the Java implementation code, but no joy.
Anyone got any ideas?
Not sure I'm following your question entirely, but here what I think is the answer.
In SCA, you don't define the policies at the Service Providers level, instead you can specify them in the SCA Composite file, at the implementation, services and/or references levels.
WAS Knowledge Center has comprehensive documentation about how to accomplish the task of adding and configuring Policies in SCA applications. Open this link and scroll down to the configure Security for SCA applications.
http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/welc6tech_sca_links.html?lang=en
You can have a better glance in this document, which is the SCA Policies spec
http://docs.oasis-open.org/opencsa/sca-policy/sca-policy-1.1.pdf

How to build any framework so that framework user does not need to learn any underlying frameworks used in building the framework?

I am involved in building framework offering financial, non financial mobile services.
Underlying technology we are using is Spring 3.2 framework , especially Spring MVC.
Now Spring MVC offers many features by way of annotations.for example, to create controller just annotate class with #Controller annotation and you are done.besides this, there are many more things like handlers,adapters, exception resolver.
My question is.
As I already leveraged Spring framework and I know how to use Spring framework or customize by available hook points.and I might had did it but what about my framework users.
Should I create wrappers on above offerings by Spring so that my framework user does not need to know or learn Spring framework?
For example, Spring provides flexibility to register exception handlers to handle exceptions but for that we need to create bean entry for required exception handler and need to register in exception resolvers class and its his job to dig into Spring details to get idea how they have provided exception handlers and all those stuff.
He needs to do exactly same as I already did.
instead of that Should I provide some provision so that user just can define bean entry for their exception handler and register it in my framework provided registry, not in Spring provided bean class?|
Spring already provide all those features, is widely used, is well documented, have thriving community, etc.
You should expose them directly so the user of your framework can easily adapt to your framework.
You should not try to hide Spring.
No matter how hard you try, your abstraction will leak,
and then the API users will need to know Spring anyway.
See http://www.joelonsoftware.com/articles/LeakyAbstractions.html

Best way to consume WCF Service inside ASP MVC3 app

I am new to the world of WCF and MVC. Currently I have a MVC3 ASP application and a WCF service app exposing some services. I want access this service from MVC3 ASP app. As I know either this can be done by adding the Service Reference to ASP project or by generating proxy class from WCF service and add proxy class to ASP app.
My question: Is it the right way I am going (as said above). If so which method is better (adding service reference or generating proxy class and adding it manually)?
It is a lot easier to use add service reference. Add service reference basically means that you are asking visual studio to do the job that you would have done if you were generating it manually with default settings.
If you don't have any reason not to go the easier way, then my advice is to use add service reference.

GWT/GAE Spring IoC powered

I'm trying to put together Google App Engine and Google Web Toolkit for one of my projects.
I think I'm going to use Objectify for data persistence, too.
The guys of Springsource says that integrate those technology with Spring is possible.
Do you know where can I find some sort of tutorial about that?
Spring + GAE == slow start up for every instance.
You will face performance problems.
In my project I had to get get rid of Spring once we had everything implemented :(
I wont use Spring + gae anymore
There is no any extra stuff required, no special configurations, tricks, etc. If you know both Spring and GAE - just use it, it's pretty standard.
I've few project based on Spring+GAE+Objectify+Java/Groovy - everything working fine together.
update:
Spring is good only for server-side part. As you want to use IoC on client side (in GWT part), you can use Google GIN instead. It's Google Guice framework (IoC from Google) designed for using with GWT.
See http://code.google.com/p/google-gin/

Resources