cancel
Showing results for 
Search instead for 
Did you mean: 

WDA architectural style and MVC pattern????

Former Member
0 Kudos

Hi Experts

I am new to WDA style of UI development, though not new to WD. I did some study on the way certain UI features behave in WDA. I have several questions on the design patterns followed in this tool.

I have to develop a set of UIs that connect to services. Ofcourse I would use the service call option in WDA. How to use UI elements such as Range selector, search helps when I use only services as models. I dont wish to use any local data elements. The approach is service aligned and all data types used belong to GDT (GlobAL DATA tYPES IN ESR).

I have seen that the range selector uses a data element in ABAP and the WD generator automatically creates a range selector UI. The data feteched comes from the local server where the data element exists (pls correct me if iam wrong). What happens if my data element really exists on a different ABAP server? How to develop distributed WDA applications? What are the best practices?

I wish to keep services & webdynpro UI in different ABAP systems. UI will call the services via the service call option in WDA. I dont want to create single instance monolithic applications. Even better I would choose PI is moderator to facilitate Asynchronous service calls.

Does WDA really allow/force you to applications based on MVC patterns? I read this blog post, it does discuss the issue but what are the design guidelines to follow? Thanks.

/people/community.user/blog/2009/05/22/web-dynpro-for-abap-150-thoughts-on-mvc-and-wd4a-observations

Regards

LNV

Edited by: LNV on Jul 28, 2010 9:22 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

>How to develop distributed WDA applications?

The primary design consideration for WDA is not distributed applications. WDA is mostly designed for creating WDAs that sit directly within the same instance as the application services it is consuming. This isn't to say that you can't have a distributed application, but there isn't much framework support. For instance you really can't use DDic search helps in this situation. You will need to use Freely Programmed or OVS search helps and call another service to retrieve the search results (fairly similiar to WDJ in this regard).

>I wish to keep services & webdynpro UI in different ABAP systems. UI will call the services via the service call option in WDA. I dont want to create single instance monolithic applications. Even better I would choose PI is moderator to facilitate Asynchronous service calls.

I guess the question is why? This isn't the norm with WDA. One of the advantages of WDA is that you don't have to separate the UI layer onto a separate instance or platform. Having the UI and application on the same instance doesn't mean you can't follow good MVC. One of the things that SAP has learned over the year is that having too much sepratation between the UI and the application layers leads to inefficencies in reuse, development and performance problems. This is why you see Suite WDJ applications being rewritten in WDA and part of the major redesign that took place with Business ByDesign. Please consider the cost that you incure in such architecture vs. the benefits you seek.

Former Member
0 Kudos

Hi Thomas

Great, thanks for the answer. This clearly tells me why WDA uses some local data elements(excuse my terminology).

The answer to your question as to why I should create a distributed application is as follows

The development approach is pessimistic, assuming what happens if there is a necessity for a distributed application. I would to begin with keep UI & Business logic on the same server & I very well know it is MVC still. However when I design an application I would have to leave room for all eventualities. Incase I decide to go for a distributed application(the benefits of which are well proven in IT) then I dont wish to redo many stuff. I agree it is always a tradeoff between performance & maintenance style. My framework design/UI development is flexible enough for the change if I follow a distributed architecture (whether on one server or several).

What happens in the world of enterprise services? How would WDA adapt to this? In the services architecture I would not know where the service resides. My UI is only aware of the WSDL and the soap location. I assume SAP's goal is to convert all their functionality on SAP XXX systems into services. Eventually I will use PI or an ESB to consume these services. Is SAP not consuming its own enterprise services in its WDA based business suite UIs? Please correct me if my understanding of SAPs WDA Business suite strategy is wrong, thanks a lot again.

Regards

LNV

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

>Is SAP not consuming its own enterprise services in its WDA based business suite UIs?

No, we are not.

We might call the underlying classes that implement the enterprise services (thereby sharing the same business logic) but we don't go through the services layers. When the business logic is already there locally, why complicate the solution by passing through an external interface - at least that is our school of thought and what we have learned (often the hard way) via real implementations.

I'm not saying you shouldn't build a distributed applicaiton. SAP has tools for that. NetWeaver CE has tooling specially designed for the distributed scenario. However the Business Suite isn't built that way. Nor is Web Dynpro ABAP designed with that use case in mind. You can of course call an enterprise service from WDA. You generate an ABAP proxy class for the service and then call that proxy class from within Web Dynpro ABAP.

>My UI is only aware of the WSDL and the soap location.

Actually it doesn't even need to be aware of those things. In WDA you just call the proxy class like you would any other ABAP class. The configuration in SOAMANAGER that setup the logical port for the Proxy Class controls these things.

Former Member
0 Kudos

Hi

Thanks a lot Thomas, that was crystal clear. I will deliberate on what are the options available to us. We are building quite a big set of UIs & functionality on the business suite directly. We have deliberated on the necessity of it with SAP & all of us have concurred. This information is valuable and gives good insight into nature of applications that SAP has as of today.

Yes I have been using CE for the last 3 years working in Walldorf and as you rightly see thats my school of thought. As always there are plenty of styles of development to think of, let me gauge whats best suited here. Thanks again.

Regards

Lakshminarayanan.V