SDN Meets Labs: Palo Alto – Impressions – Day 2
Introduction
Before I get started talking about the experience that was the second day of the SDN Meets Labs Palo Alto Conference, I want to first extend a thank you to Mark and his team for hosting such a nice event. You could really tell that a lot of work went into the preparation for an event of this size. In the end everything appeared to go off without a hitch and I think that everyone who attended (whether physically or via the Internet) had a good time and certainly learned a thing or two. Let’s hope that this was the first in a long line of successful SDN Meets Conferences.
Connecting Users to the Business Process Platform
I started the day with a session that was a little bit of a departure from what I am used to. I am a nuts and bolts kind of guy and tend to stick to those sessions that are deeply into the technical details of the solution. However this session was much more abstract in its discussion of how to better connection users to the technology applications they are using. I went specifically wanting to broaden my horizons about User Interface design and that was exactly what I got.
The session talked about how today Business Experts have task flows that cause them to cross over multiple applications. This requires users to have to mentally and physically integrate information from multiple sources. This is where composite applications really come into play. It should be the goal of any good composite application to do this information integration for the user. By combining services from these separate applications into a unified user interface, composite applications allows users to make the jump from Data Entry Personnel to true Knowledge Workers.
The other thing that this session reminded us that we need to keep in mind as we begin to build the next generation of composite applications is that the role of the worker today is greatly expanded. Workers are expected to be efficient communicators, collaborators, designers, decision makers, and modelers. The tools that we build for them need to keep all of these aspects in mind. Finally the speaker, Jöerg Beringer, shared the titles of several good books on the subject: Contextual Design and Rapid Contextual Design. I unfortunately didn’t get the website for these works in my notes. However there was a link in the original presentation. I think I will have to add these to my leisure reading list.
Universal Worklist and Collaboration Tasks
I have to admit that I have never really explored the current workflow tools in the SAP environment. There is someone else within our development group that is our workflow expert and I just have never taken the time to pick it up. However after seeing this presentation on Universal Worklist and Collaboration Tasks, I think I am missing out.
The first half of the session was focused on the Collaboration Task tool. This tool is really positioned to replace those long strings of emails that form when a request for some action gets forwarded around to a group of users. Everyone knows what type of email stream I am talking about. Its the one that by the time it reaches you half the history of the request has been lost in Replies and Forwards and the critical file attachment was lost days ago as well. The Collaboration Task tool looks to eliminate all that by creating a structured process for such flows that in turn is as easy to use as sending an email. The Collaboration Task tool is also integrated with the Portal Knowledge Management functionality so that unstructured content attachments (like spreadsheets and images) are stored centrally and available to all Task participants. They even showed a plug-in for the Collaboration Task tool that integrates into MS Outlook to transform an Email into a Collaboration Task. Although the Collaboration Task tool is available in current Portal releases, this Email Integration isn’t released yet. SAP is waiting to see what customer interest there is in such a tool. Just from what I saw in the demo – I can tell you I am interested!
The next half of the session was on the Universal Worklist tool (also an Enterprise Portal component that is currently available). The demo showed how they were able to collect work tasks from multiple backend systems (including older 46C R/3 systems). Now older systems use the ITS in place in the Portal to allow the user to work through the task item. They suggested if you were interested in the tool that you check out the Service Marketplace alias bpms. They also said that a full featured substitution functionality is coming soon for UWL (640 SP12), but that a backend system built on 640 SP12 is also required to make this functionality work.
Advanced Object Search and Entry Help by using Java Web Dynpro and ABAP
I have to be honest. I didn’t go to this session because I was interested in using the tool that was being shown. I went to borrow ideas for my own BSP based Entry Help Custom Extension. I was pleasantly surprised to see that what they had built for Java WebDynpro was quite similar to what I had for ABAP BSP. I did pick up a few ideas on the layout of the search help that I would like to incorporate in the next version of my BSP tool – and I would love to get my hands on their popup window code. Also I really liked their concept of Collected values (multiple selections from different search criteria combined together into one results area).
However I was quite disappointed that they didn’t present any details on the ABAP APIs that they were using to interact with the back end search helps (I know that several other people were looking for the same content). They did confirm that they weren’t using the Search Help BAPIs (which I use) and that they weren’t sure if the APIs they were using were released for customers. They took my business card and will hopefully get back to me with details on these APIs. If I get this information and find it useful, I promise to write a weblog on the subject.
SAP NetWeaver Programming Models
In the afternoon I got to attend my favorite session of the day (sorry Mark – I really enjoyed all the session including your SDN feedback session, but nothing compares to talking code). In addition one of the presenters was Karl Kessler, whose written works I both highly recommend and admire.
A good portion of the presentation was spent on one slide that showed all the Major Development Tool Platforms (ABAP, J2EE, XI, CAF, WebDynpro, WebServices, Visual Modeling, Portal, and .Net) and how they overlap and interact. The first area that was discussed was my personal favorite – ABAP. The first point that was made was that SAP’s major tools for Interoperability (WebServices) and User Interface (WebDynpro) are already or will soon be available on both the ABAP and Java environments. No specific releases schedules were given for availability of WebDynpro ABAP.
Now the question was posed to Karl Kessler of the BSP vs. WebDynpro debate. Karl stated (and I am paraphrasing here) that BSP has a nice following that is evident in SDN and is good solution for ABAP based web development today. But he followed that saying that he thought that you would see much of the BSP community beginning to migrate to ABAP WebDynpro as it became available. He ended that statement by saying that BSP was nearly 5 years old and that it was “older technology” (I believe those were his exact words).
I thought I might just take a minute and respond to those statements with my opinion on the subject. I know that this is a hot topic and I want to stress that this is just my opinion (and I hope that I have correctly captured Karl’s comments as well). First of all I have nothing against WebDynpro ABAP or Java. I think they both look like wonderful tools that will be well accepted by the community. I look forward to writing many weblogs on WebDynpro ABAP once I can get my hands on it! You might even see a Java WebDynpro weblog with my name as the author in the near very future (yes I plan to broaden my horizons significantly to include the Java world!). In the end, even once I have WebDynpro for ABAP (or Java for that mater), I still want BSP as an available tool in my toolset. BSP and WebDynpro are similar tools but ultimately very different goals.
With WebDynpro abstraction from the end client device is the focus. And this is exactly as it should be. WebDynpro is focused on the future and isn’t closed to the thought that the web browser is the only client delivery mechanism. It appears to be well suited to the development of Business Transactions. But because of these strengths, there are certain things that you can’t do with WebDynpro (or at least to my knowledge you can’t do). First, and this seems obvious by design, you can’t break out of the framework and insert your own JavaScript or HTML. This would violate the client abstraction purpose of WebDynpro. Yet there are times when you want to truly build a Web Application when such control over the end point is necessary and feasible. In these cases BSP fills a gap that WebDynpro alone leaves. There are other areas where BSP offers things that WebDynpro doesn’t currently – such as stateless applications, extensibility of the framework by creating your own BSP elements, etc. In the end I know that I have BSP applications today that would be better served as WebDynpro. I also have applications that I know are better off staying as BSP. I welcome the day when I have both tools at my beck and call.
Moving on from this discussion, this slide also showed that the XI tools still falls very much in the ABAP domain while the newer Composite Application Framework is developed and used in the Java Netweaver tools. From what I saw of the CAF development tools this week, I hope that SAP someday will offer a CAF Service builder in the ABAP side as well. Although most of the CAF tools are model and visual driven, we saw in several demos that there are still places where you drop to the coding level. The option of ABAP or Java here would be quite welcomed. In the domain of the Java only environment you really have the Mobile SDK and the BI SDK. Finally for .Net you have the new portal Developers Kit for .Net (obviously .Net isn’t a major cornerstone of NetWeaver, but it is nice to see this outreach to the .Net Community).
Then there was a little box for Visual Development. This box actually overlapped with all the Major Platforms (ABAP, Java, and .Net). Of course SAP is referring to the Visual Modeler. SAP’s goal here is to create a Highly Generic Modeling tool completely transparent to the underlying technologies. For instance they later showed an example of a Visual Modeler developed app that generated Flash as its end result. Personally I am quite excited about the concept of the Visual Modeler. I just wish that it wasn’t so closely dependent upon the SAP Enterprise Portal (which my company hasn’t implemented yet). A fully standalone Visual Modeler would be a truly powerful addition to the SAP environment .
The session ended with a nice look at CAF from the perspective of Programming Models. Let me break it down as it was presented. The CAF has three main components – The Service Layer, the User Interface, and the Process Framework. The Service Layer’s Programming Model is Enterprise Services. Underlying Enterprise Services you have SAP’s WebService Technology (open and standards base) in addition to the tried and true RFC protocols. For the User Interface layer, SAP obviously uses its next generation UI technology – WebDynpro. Finally the Process Framework is built on top of the new Guided Procedures and Universal Work List.
SDN Feedback Session with Best Sacrifices for Error-Free Elf Code, On Time and Within Budget
And the award for the longest session title goes to our very own Mark Finnern. If you missed the chat session of this one, you missed a great opportunity to give feedback to our SDN hosts. One thing that did come out of this session was the introduction to the, still in Beta, Business Card functionality in SDN. I have mine filled out and I encourage everyone to do the same to whatever level they feel comfortable. That is really the nice thing about the business card – you can decided how much personal information, if any, you wish to share with the community. If you want to see what the SDN Business Card looks like – look to the top of this weblog. You should see a hyper link to mine under my name.
Closing
Once again I want to thank Mark and his team for making this such an enjoyable and valuable two day experience. Also I want to say thank you to all the attendees who came. Even if you didn’t present, every single person added something to this conference. Some of the best content at the conference was shared over the lunch room table are while playing pinball or darts at the evening event. Also it is always nice to meet face to face with the people that you begin to consider friends throughout the extended community that is SDN.
Finally I want to say thank you to Shai and the other executives that are approving and sponsering events like this. I hope that they get a chance to read these weblogs so that they know just how valuable this experince was for everyone involved. Afterall we want to make sure that they give Mark even more money for next year’s event!
Your analysis is perfectly correct. This is not an either/or situation. But as you said, it is two hammers in your toolbox, use the best suited. And your two arguments, stateless and pixel perfect rendering, are also the two we use as guidelines to recommend either Web Dynpro or xSP (JSP on Java, BSP on ABAP).
The power of Web Dynpro is exactly this abstract programming model, which then preclude custom (HTML) rendering. But with time, the available rendering library should be so good, that this should not become a very big issue.
I see for the SDN Meets SAP Labs here in Walldorf, that there is also a session on Web Dynpro ABAP (prototype) for those interested in seeing it in action. Important: this statement does not reflect in anyway on SAP's release strategy for it!
regards, brian
Thanks,
Steve