1

I'm going to develope an application based on web services (axis2) and android (clients). I'm now planning the logic architecture for my system and I supose that it should be like a SOA architecture. I have seen that a SOA architecture is based on layers.

So, this would be a "correct" logic architecture for my application? (with some changes of course)

http://geeks.ms/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/unai/DDD_5F00_NLAYER_5F00_ARCHITECTURE_5F00_SMALL_5F00_6ADA95E1.png

Android code (activities) would be on Presentation Layer?

EDIT April 2014

Now, 3 years later with some more experience... REST is the best :)

Marcos
  • 4,643
  • 7
  • 33
  • 60

2 Answers2

1

Warning, it may that this answer is not at all an answer to you question but anyway, here is my thoughts.

I'm definitely not a SOA specialist but since SOA can be implemented with REST, it should not have any consequences on a SOA architecture. Android is REST-ready (see that Google IO 2010 session on REST) and there is only little SOAP support on android (afaik, but I may be wrong).

At some point, you'll have to evaluate the feasibility of the interop. between your Axis WS-* with any existing android SOAP support (the well-known ksoap2 project for example). The result could be not without impact on your architecture design.

The point here is: if you do use Rampart to use WS-Security, for example, on top of Axis2, it seems to me there are little chances that ksoap may interact at all (technically) with your service provider. On the one hand, if the service is simple and can be bound with ksoap2, great, go on. On the other hand, if you would use a not so simple security or authentication scheme, it could just be a nightmare to get the things done with the simple SOAP support on android. In the latest case and as the REST approach seems to be the preferred philosophy on android, you may be confronted to the decision to have a REST proxy dedicated to android between your Axis2 business WS and the android client-side application.

In the hope it may be of any help.

Renaud
  • 8,783
  • 4
  • 32
  • 40
  • Thanks. I'm using ksoap2 and I have not considered yet the security. What would be "simple authentication scheme"? Thanks for the link of Google IO, I will take into account use REST. – Marcos Nov 23 '11 at 21:58
  • Rails provides an interesting security http://guides.rubyonrails.org/security.html, I'll try to dig more tomorrow – Renaud Nov 23 '11 at 22:55
  • I do not understand why Axis 2 is an input constraint vs. no security design yet + no architecture yet… I assume there that you would use Axis 2 for a specific WS with an existing business model. – Renaud Nov 25 '11 at 18:54
  • That one may be of use http://stackoverflow.com/questions/4097686/restful-frameworks-for-android-ios – Renaud Nov 25 '11 at 19:05
  • Well, I'm new on WS and Axis2 was the first WS engine that I've proved. It's very simple make a POJO and then create the services.xml and that's all! I had more problems with ksoap2 but I finally got it to work. Thanks. – Marcos Nov 25 '11 at 21:44
1

Perhaps you could even try SOAP. Android supports SOAP web services and provides ksoap2 libraries which you can use for sending request and getting response from your server easily.

For starters just check this out. Now, the latest version of ksoap also supports passing of Object Arrays.

For more information of ksoap2, I suggest to read this

Cheers

All the best

Community
  • 1
  • 1
Parth Doshi
  • 4,200
  • 15
  • 79
  • 129
  • I'm already using ksoap2, thanks. But I don't know how structure the whole system: Presentation layer, WebServices layer, Domain layer, DAL? Is that correct for web services? – Marcos Nov 24 '11 at 15:12
  • 1
    this should help you understand : http://stackoverflow.com/questions/3968956/designing-a-system-with-a-presentation-layer-and-a-web-service-based-api – Parth Doshi Nov 25 '11 at 02:50