We kick off season 4 of the Enterprise Geeks podcast in a big way with a live recording from TechEd Las Vegas 2011. We recap the week's activities with highlights from the keynote, educational sessions and special events of the week.

With the recent release of the ABAP 7.02 trial edition, many people might be looking for good learning materials and demos to try out all the new functionality available in this release level. In this blog I try to collect some of these sources.

Other SCN Content

One of your first stops after installing the ABAP 7.02 trial (or if you are looking for something to read during the installation process), should be the What's New in ABAP with SAP NetWeaver 7.0 EhP2 page here on SCN. It does a nice job of summarizing the high level feature areas and give you an excellent starting point to perform further research.

There have also been several blogs released in the last week, all focused on the 7.02 ABAP topic and of the things you can try in 7.02 once you have the trial installed.

TechEd 2010

TechEd was also a great source of information on the new features in ABAP 7.02. Don't forget that many of the sessions were recorded and can be viewed at any time. These sessions can be viewed here: http://www.virtualsapteched.com/

If you attended TechEd this year, you might have noticed that we didn't give out the source code to the attendees for many of the usual workshops. This was mostly because the source code was based upon NetWeaver 7.02 and without a trial edition at that release level yet, it wouldn’t do anyone much good. Thankfully we now have the 7.02 trial, so we have started uploading some of the code to the SAP Code Exchange.

Currently I have uploaded the content from CD160 - Introduction to Web Dynpro ABAP, CD105 - What's New in Web Dynpro ABAP 7.01 and 7.02, CD203 - Best Practices for Designing Web Dynpro ABAP User Interfaces, and CD266 - Update Your ABAP Development Skills to NetWeaver 7.0 and Beyond.

If you access the Code Exchange project and go to the Releases tab (after accepting the Terms of Usage), you will see individual download files. Each contains ABAP transport files for the various areas covered. There is a file for all the CD266 Exercises and the CD160 exercises. There are also transports for the various demos, such as the performance demos used in CD203 or the Flash Islands and Silverlight Islands demoed in CD105.

SAP Press Book

If you are interested in the 7.02 features for ABAP development, then (at the risk of some self promotion) I would also recommend the new SAP Press book - Next Generation ABAP Development 2nd Edition which is schedule to start shipping in early January. This new edition of the book was extended and revised specifically to cover the new features in ABAP development in NetWeaver 7.01 and 7.02. For example, the syntax all throughout the book has been updated to include the new statement chaining and extended expressions possible in NetWeaver 7.02. There are also completely new topics like Business Objects integration, BRF+, Page Builder, Islands, etc.

The book also comes with a CD that contains the source code of all the projects discussed in the book - source code that you can now actually install and run thanks to the recent release of the 7.02 trial edition.

UPDATED: For a limited time you can use discount code 2011NGABAP2E in order to get 10% off the regular price of the book if you order directly from the SAP Press website.

This year you can expect to see a variety of sessions touching on the Web Dynpro ABAP topic at TechEd. In this blog, I will point out some of the key sessions covering Web Dynpro ABAP as well as provide some content you might want to review before arriving at TechEd.

Track Structure

The first major change that is effecting Web Dynpro ABAP content at TechEd this year is that there is no longer a User Productivity track. Instead this year, User Productivity topics are mostly a sub track within Custom Development. If you remember back to TechEd 2009, we had some Web Dynpro ABAP sessions in Custom Development and some in User Productivity. This was done only because of internal budgets during the TechEd planning process, but led to confusion among attendees that were looking for unified track of Web Dynpro ABAP education.

So this year you can view all the Web Dynpro ABAP related content within the Custom Development Track:Las VegasBerlin

The other major change this year was the expansion of Web Dynpro ABAP content. New sessions were added and lectures were expanded from 1 to 2 hours. I will discuss some of this new material in detail in a moment, but first let's talk about what we had to cut. In order to make room for all the new material, we did have to cut something from previous years.

Introduction To Web Dynpro ABAP

We have been presenting the introduction to Web Dynpro ABAP since 2005. Therefore it became a prime target for our reduction efforts. In past years we have conducted a 1 hour lecture and a 4 hour hands-on for the introduction to Web Dynpro ABAP. The slides and presentation material are the same between these two sessions and often attendees went to both.

Therefore we made a decision to no longer offer the 1 hour lecture version. As many customers are still just experiencing Web Dynpro ABAP for the first time as their companies upgrade we want to support their efforts. The 4 hour hands-on will remain. It is session CD160 (Las Vegas / Berlin). We believe that the time spent hands-on with the development environment is one of the best ways to learn the tool.

We didn't completely discard the lecture version of the materials, however. Instead we decided the best way to service those who wish to begin learning Web Dynpro ABAP is to provide these materials as eLearning Videos all the time (for free) on SDN. Here are links to this eLearning series:

Introduction to Web Dynpro ABAP: Part 1This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this first part we begin by explaining the motivations in the design of Web Dynpro.

Introduction to Web Dynpro ABAP: Part 2This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this second part we discuss the Web Dynpro ABAP programming model.

Introduction to Web Dynpro ABAP: Part 3This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this third part we learn about the View and placing UI elements on the screen.

Introduction to Web Dynpro ABAP: Part 4This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this fourth part we explor how to model data in the context and respond to events with event handler methods of the controller.

Introduction to Web Dynpro ABAP: Part 5This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this fifth part we expand our project to include the Component Controller, Context Mapping and multiple Views.

Introduction to Web Dynpro ABAP: Part 6This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this sixth part we look at multiple component usage and navigation plugs.

Introduction to Web Dynpro ABAP: Part 7This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this seventh and final part we explorer integration possibilities in the form of NetWeaver Portal, NetWeaver Business Client, Interactive Forms by Adobe and Flash Islands.

New and Expanded Web Dynpro ABAP Sessions

If we look at the rest of the Web Dynpro ABAP session offerings at TechEd this year, you will see that there are many new and expanded session. CD105 (Las Vegas / Berlin) will once again focus on the delta features of NetWeaver 7.0 Enhancement Package 1 and 2, but this year has been expanded to 2 hours. This should provide more time for additional details on the Floorplan Manager and Islands technologies as well as expanded demos and a look at the future roadmap.

CD163 - Creating Mashup User Interfaces with the New Web Dynpro ABAP Page Builder (Las Vegas / Berlin) is one of two new sessions this year that focus completely on Web Dynpro ABAP. In this two hour hands-on session you will get your first opportunity to use the new Page Builder framework that will ship with NetWeaver 7.0 Enhancement Package 2.

CD203 - Best Practices for Designing Web Dynpro ABAP User Interfaces (Las Vegas / Berlin) is a new 2 hour lecture designed for experienced WDA developers who want to learn from some of SAP's best practices for the UI design as well as technical architecture and performance of large scale Web Dynpro ABAP applications.

In addition, there are several other sessions that will have interaction with Web Dynpro ABAP related topics. If you are a Web Dynpro ABAP developer or want to become one, we would also suggest the following sessions:

CD266 - ABAP Development: Update Your Skills to SAP NetWeaver 7 and Beyond Las Vegas / BerlinThis session always focuses on new development techniques at each layer (Persistence/Business Logic, Services Consumption/Provisioning, User Interface) as well as how the layers interact with one another. This year for the UI layer we will focus on the Web Dynpro ABAP Floorplan Manager and Generic UI Building Blocks via Feeder Classes.

On February 4th my colleague Smadar Ludomirski from SAP Israel and myself will host a free webinar on the NetWeaver Business Client as part of the SAP NetWeaver Customer Call Series.

SAP NetWeaver Business Client v3.0 desktop and web offer a state-of-the-art UI entry point to the SAP world. With simplicity and intuitiveness as the guiding factors, the NWBC v3.0 offers enhanced features as part of its navigation and rendering mechanism in a single, harmonized environment for Dynpro, Web Dynpro, and any HTML (BI, Flash...) based content.

Perhaps you might not have ever heard of the NetWeaver Business Client. If that is the case, then this webinar will give you an introduction to what it is, the value proposition and even technical configuration details.

On the other hand, maybe you have some exposure to the NetWeaver Business Client, but want to learn more about it. This webinar will also provide details on the NetWeaver Business Client roadmap, examples of the advanced features of the tool as well as demos of role configuration to best utilize NetWeaver Business Client.

The session will be comprised of a farily even mixture of slides and demos. We will have demos on how NetWeaver Business Client simplifies the mixture of UI technologies, a demo on the "day in the life of" a typical NetWeaver Business Client user, and a demo of the role configuration and advanced features.

Also be sure to come prepared to ask plenty of questions. One of the nice things about having two presenters is that while one of is speaking the other presenter can be answer questions via the chat window.

If you plan to attend the live webinar, then please login several minutes before the start time, as it can sometimes take awhile for the operators to clear all the incoming callers. Of course like all the sessions in the NetWeaver Customer Call Series, this webinar will be recorded and posted to SDN shortly after it occurs.

TechEd is quickly approaching and I thought I would use this episode of the ABAP Freak Show to preview some of the Web Dynpro ABAP related sessions that will presented at TechEd. I preview the following sessions in this video:

Introduction

This blog introduces a 5 part eLearning series based upon a frequent request – to look at basic ABAP Object Oriented concepts. Throughout this series we will look at OO terminology, development tools, and design patterns that span a variety of ABAP release levels. We will try to keep the discussion away from all the new cutting edge syntax so that it is still quite usable for those of you on older releases like 4.6C or 6.20.

For the 5 part series we will start with Part 1 looking at tooling (the ABAP Class Builder) and some basic terminology. In Part 2 we will expand the lesson by looking at static vs. instance, visibility, exception classes, inheritance, polymorphism and abstract classes. In part 3 we will see how a special type of class, called a persistent object, can be used for Object Oriented access to the database. In part 4 we will explore Object Oriented concepts in User Interface technologies. Keeping with the theme of older release levels, we will focus this part on using Model View Controller and OO eventing within Classic Dynpro applications. Finally in part 5 we will look at real world, complex example that uses all the techniques and technologies from the previous parts.

Part 1 - Basics

In Part1 of the eLearning we start with the very most basic concepts. We will explore the class builder tool within SE80 and discuss some of the terminology that you need to know in order to begin to learn Object Oriented design and development.

Part 2 - Classes, Inheritance, Visibility, Polymorphism

In this part, we will expand the lesson by looking at static vs. instance, visibility, exception classes, inheritance, polymorphism and abstract classes. We start with a very basic class with only static methods that works very much like a Function Group/Function Modules. Next we change the methods into instance methods and see how a class instance allows us to model complex data structures and relationships in code. Then we see how exception classes can make our exceptions more meaningful and simplify the surrounding code for dealing with exceptions. Finally we see the real power of object oriented design come to life as we use inheritance and polymorphism to hide the inner complexity of our business logic from calling applications all while ensuring uniform execution of our code. These techniques may feel foreign at first, but in the long run they lead to code that is easier and safer to maintain.

Part 3 - Persistant Objects

In this part, we will expand the lessons of the previous tutorial and look at a special type of class in ABAP – the Persistent Object. Persistent Objects are an OO-based approach to the types of data access that you would normally perform with SQL statements. With Persistent Objects you don’t code any SQL statements. Instead a class is generated for you that contains SET and GET methods for reading and updating data. ABAP Persistent Objects also contain the functionality for more complex update scenarios – like V2 Asynchronous updates.

Part 4 - User Interface

In this part, we look at the special use case of Object Oriented technology and design techniques as they are applied to User Interface creation. Throughout all the ABAP UI technologies, we study how MVC (Model View Controller) design can be applied. We look briefly at BSP and Web Dynpro ABAP and OO effects the overall design as well as specific features like UI element rendering and eventing. We close with an example of how you can adapt even Classic Dynpro and its PBO/PAI processing looks to a more Object Oriented MVC flow.

Part 5 - Putting It All Together

In this final entry in the 5 part ABAP OO series, we examine examples of how SAP puts the techniques that we learned in the previous 4 sessions to work within the standard code that they deliver to customers. We start by looking at the CL_BCS classes for sending email. CL_BCS* serves as a perfect example of the use of Persistent Objects and Polymorphism. We also look at the functionality behind the new ABAP Code Completion feature in the ABAP Editor. This block of code uses Persistent Objects, Inheritance/Polymorphism, Exception Classes, and MVC structured Classic Dynpro.

Source Code

The source code for this tutorial is provided in two different formats. The directories cofiles and data contain ABAP transport files with all the development objects contained in this tutorial. If you have access and permission to import transport files from external systems, this can be a good way to import the tutorial source code. All objects are imported at once and all development object types are supported. However you should only use this approach if you are importing into a 7.0 or higher level system. The transport files contain development objects (like Web Dynpro ABAP) that only exist at this development level. If you import the transport in earlier releases, you will receive import errors.

The other solution is to import the development objects using SAPlink. SAPlink is not an SAP provided or supported solution. It is a community created project for exporting and importing ABAP development objects in XML format. You can read more about SAPlink at http://www.saplink.org.

The SAPlink files are the ones with the file extension NUGG. I have divided the SAPlink files into smaller groups so that you can import just the objects that you want and avoid technologies that might not be supported on your release level. The main drawback to SAPlink is that it doesn't have a plug-in that supports persistent objects. Therefore it is not possible to include the persistent classes from Part 3 of the Tutorial. I have still included the data dictionary objects and programs from this section of the tutorial.

The following is the listing of the SAPlink objects and the suggested order of import:

NUGG_AFS_OO - these are basic classes and programs from Tutorial #1 and #2. They should be usable back to WebAS 6.10 and higher based releases.

NUGG_AFS_OO_PERSISTENT_DDIC - these are the only the data dictionary objects used in Tutorial #3.

NUGG_AFS_OO_PERSISTENT_PROGRAMS - these are the dynpro programs that are used to test the persistent classes from Tutorial #3. They need the persistent objects that cannot be offered via SAPlink. You would need to create the persistent objects manually before you could import these programswithout error.

NUGG_AFS_OO_PERSISTENT_PROGRAMS_702 - These would mostly be an item of curiosity. For proper import they would require an ABAP 7.02 based system (which isn't available yet as of Aug 2009) or NetWeaver 7.1x or higher (of which there is not version of the Business Suite that runs on thisNetWeaver release). Chances are low that there are many people who could import these objects without syntax errors. However knowing this, you might still want to study the code to see what will be possible in the near future.

NUGG_AFS_OO_UI_DDIC - From Tutorial #4 - these are the data dictionary objects that are used throughout the UI based tutorials. Please import these before any of the other UI tutorials and regardless of which UI technology tutorials you are importing.

NUGG_AFS_OO_UI_DYNPRO - From Tutorial #4 - these are the classic dynpro based tutorials and can be imported into any release level supported by SAPlink (technically the demos should work back in 4.6C as well if you want to recreate them manually).

NUGG_AFS_OO_UI_BSP - From Tutorial #4 - these are the BSP (Business Server Pages) related examples. Only import them into a WebAS 6.20 or higher based release level.

NUGG_AFS_OO_UI_WDA - From Tutorial #4 - these are Web Dynpro ABAP related examples. Only import them into a NetWeaver 7.0 or higher based release level.

The area of User Interface experience and developer tools are quickly changing and often expanding. We are beginning to see the user expectations from working with the consumer web extend into the world of enterprise applications. In this free webinar, we want to give everyone an overview of the SAP User Interface Strategy focusing on the all three layers of the User Interface – UI Infrastructure, UI Services, and Clients/Access Channels. We will also see roadmap details for tools like Web Dynpro and NetWeaver Business Client.

We are also very interested in what User Interface topics you would like to see covered in detail via this webinar or in future ones.

The introduction of Adobe® Flash® in SAP (sometimes refered to as Flash Islands) last year marked a new milestone in the cooperation between SAP and Adobe. This new capability of Web Dynpro allows for the true integration of rich internet content based upon the Adobe Flex Platform into the primary SAP UI technologies.

If you are unfamiliar with this new technology, it basically allows the easy embedding of Flex Components using the Flash Player into Web Dynpro Applications – either Web Dynpro ABAP (NetWeaver 7.0 EnhP1) or Web Dynpro Java (NetWeaver CE 7.1 EnhP1). SAP supplies both a Flex runtime and build time library that developers can use to enhance existing or new Flex projects. These libraries take care of the work to communicate data and events back and forth between the Web Dynpro Context and the Flex Component. This communication is all done via the normal HTTP/HTTPS channel of the Web Dynpro applications and requires no knowledge of the inner workings of the communication on the part of the developers. Also, nothing additional needs to be installed on the ABAP or Java application servers.

So if you are interested in this exciting new technology, this will definitely be a page that you will want to check back often with. New content and tutorials will be added frequently, especially over the next few months as we continue the initial rollout of materials on this topic.

What is Enterprise Geeks?

Well in short, it is a website representing a small group of tech geeks that happened to put the focus of their geeky desires into the enterprise software space. You can read more of the details on the Enterprise Geeks website About Page, but basically it all started with a group of likeminded people that meet and associated via the SAP Community and its events.

You might have seen us hanging out together at TechEd Las Vegas this year where the below picture was taken. In the picture from left to right you have me, Ed Herrmann (who works for Colgate), Dan McWeeney (who works for Adobe), Craig Cmehil (SAP), and Rich Heilman (SAP).

Although we walk different career paths today, we all got our start as developers (and all of us have worked in ABAP at one time or another) and as SAP customers. So technology and programming drives our interest, but always with a focus on the Enterprise and SAP space.

Our goal for starting Enterprise Geeks was to have a place to do all sorts of things - but all retaining that focus on technology in the Enterprise space. Given our backgrounds and current positions, we will naturally be drawn to the SAP and Adobe areas of Enterprise but we also want to touch on other aspects as well. We want to use the site as a place to share thoughts, learnings, work on projects, host podcasts and videos.

The ABAP Freak Show

Now I want to take a minute to explain some of the content that I am planning to work on for the Enterprise Geeks website. I've long been involved in creating formal eLearning videos for SCN. I love creating these materials and will continue to do so. However the effort required and lead time for host, limits how many of these can be created and how often you can post them.

For a while now, I've also wanted to do a less formal video podcast on the ABAP topic. I still want it to be informative, but I want it to be more frequent and less formal. The tone should be lighthearted and little more fun. This was always the plan for the ABAP Freak Show, but it was difficult to keep on schedule.

Now with the Enterprise Geek website and group, I'm bringing back these ideas and relaunching the ABAP Freak Show. I'm going to have a set schedule of releasing a new episode of the ABAP Freak Show on the first and third Wednesday of each month. The content will be hosted directly on the Enterprise Geeks website and of course you can subscribe to the RSS feed of Enterprise Geeks and never miss an episode.

I've already published the first episode of the ABAP Freak Show for the year and we talked about how to create dynamic context nodes and then do dynamic context mapping and binding in Web Dynpro ABAP. Next week we will look at how to fill default values into Select-Options in Web Dynpro ABAP. I will also talk about the history of the name of the ABAP Freak Show.

From week to week, I might pull a question from mail bag, focus on new functionality in NetWeaver Enhancement Package 1 or a little later in the year begin to preview new functionality in NetWeaver Enhancemenet Package 2. You will also see guest hosts of the ABAP Freak Show in upcoming weeks. Of course my mailbox is always open to suggestions for future topics.

Enterprise Geeks Podcast

One of the other mediums we want to use as part of Enterprise Geeks is a regularly scheduled podcast. Ed Herrmann and myself are going to host the main Enterprise Geeks podcast, but you can expect to find frequent appearances by the other Enterprise Geeks members as well as (hopefully) many other members of the SAP community.

The idea of the podcast is to once again be pretty informal. We want to try and capture and share some of the fun conversations we have when we are all together at SAP events. Our main topics will of course be Technology in the Enterprise, but you can also expect us to get off topic occasionally when we get distracted by any shiny object.

We want to release the podcast approximately by-weekly. We recorded the first episode a few days before Christmas at a mall in Louisville, Kentucky. In the future we promise we will find quieter surroundings. :) The first episode covered topics that ranged from doing design documents on napkins to a 2008 year in review. You can expect an equally wide range in topics in future episodes.

The future of Enterprise Geeks

I've only touched on a couple of the things that I am involved with for Enterprise Geeks. Each of the other member have other things in mind as well. You can also expect to see special editions of our regular podcasts and videos when we are together participating in SAP events. We are also really interested in topics or formats that you would like to see us cover.

Next Thursday, January 22nd, my colleague Oliver Mayer and myself will host a free webinar on the usage of the ABAP Enhancement Framework. We will actually cover a little bit on the history of all the enhancement technologies in ABAP as well as talk about how the Enhancement Framework is used in the Business Suite Ehancement Packages.

More importantly, we will go beyond past demos and learning materials on the Ehancement Framework. In the past we have mostly seen the source code enhancements or maybe the class pre and post method enhancements. In this session we also want to show you how to get the full power out of the Enhancement Framework for your own applications. We will demonstrate how to implement kernel badis (with filters) and how to attach any enhancement to a switch.

We will also look at the process for creating switches, attaching them to business functions and how to activate and deactivate switches.

Chat Transcript

Now that the webinar has occured, Jim Spath was kind enough to post the chat transcript with answers to many of the questions asked in the WIKI:

As a growing number of Web Dynpro ABAP developers are beginning to work with the Adobe Flash Islands functionality, it seems like the perfect time to introduce some new eLearning materials on the subject.

Already customers and partners are accessing this ability to embed Adobe Flash and Flex Components within Web Dynpro and have bi-directional data binding and eventing. The functionality is available as part of NetWeaver 7.0 Enhancement Package 1 for Web Dynpro ABAP and NetWeaver CE 7.1 Enhancement Package 1 for Web Dynpro Java - both of which are available now as trial downloads from SCN.

In order to help people get started we have a series of eLearning Videos, Tutorials, and Demos - most of which also come with the complete source code. We will be collecting all the Adobe Flash Islands for Web Dynpro learning content at this WIKI site: SAP Rich Islands for Adobe Flash

We have learning materials that start out at the level where we assume the reader has only basic knowledge of Web Dynpro ABAP. We try to create a nice introduction to the Adobe Flex Builder environment and how to create Adobe Flex Components. We will also cover the Islands specific enhancements that you would need to make to both the Flex Component and the Web Dynpro Component.

So please look over what is already available on the Adobe Flash Islands WIKI site and let us know if there is a particular area or technique that you would like to see covered in future eLearning materials.

I will admit that I was a little disappointed the other day when I read Bangalore disappoints! that there was low registration for Community Day Bangalore. I'm planning to travel 18,998miles/30,578km roundtrip to attend the Community Day Bangalore so I hope I'm not the only one that shows up. :)

Well, I will be in Bangalore regardless since I am a TechEd presenter, but I still believe that Community Day is a major benefit to all attendees and well worth a day out of anyone's schedule to learn, connect, and generally expand your horizons. Community Day remains my favorite day of TechEd.

But plenty of other people have already posted their undying adoration for Community Day in other blogs, so I won't go on with my opinions as to why you would be silly not to attend. Instead I want to take a few minutes to detail out the sessions that I will be presenting at the Community Day Bangalore.

First of all we will bring the popular SDN Mentors' Hands-On Workshop to Community Day Bangalore. This was a hugely popular hands-on workshop that we gave in both Las Vegas and Berlin and I am very happy to be bringing it to Bangalore as well. Here is a link that gives you more details on the contents of this session:SDN Community Day Mentor Hands-On Workshop

Now we will have a little shorter time in Bangalore and I will be the only one of the original session presenters that can make the trip; so I will adjust the content a little bit. This will still be a great opportunity to try out new UI technologies like Adobe Flash Islands for Web Dynpro and the Web Dynpro ABAP Floorplan Manager. If you want to boost your Web Dynpro ABAP development skills then this is certainly a workshop you shouldn't miss. Space with access to hands-on machine will be limited so be sure to get signed up for Community Day now!

You may have also have heard about some of the amazing announcements that were made for ABAP programmers during Community Day Berlin. In Berlin we got to hear the details around the ABAP 7.0 EnhP2 backport project. In a separate session from the Mentors' Hands-On I will detail what innovations SAP has planned for ABAP developers in next year's Enhancement Package 2. I will even bring an Enhancement Package 2 development build ABAP system with me to show you the work in progress. This is a unique opportunity to see what functionality is coming next year and to be able to ask questions about these plans, so don't miss out.

The original premise of the Mentors’ Hands-On Workshop was that the best part of TechEd is the hands-on session opportunities. It is great to be able to hear an expert talk about a subject and maybe even see a demo, but nothing really compares to the value of being able to use the technology yourself and then ask questions that come to mind out of that usage. The only downside is that you can only reserve a maximum of 2 Hands-On sessions during TechEd. That is at most 8 hours of hands-on experience; assuming you pick two, four hour sessions.

So the idea is that as part of SDN Community Day you can get the opportunity to participate in an additional 4 hour hands on session that is designed by four of the SDN Community Mentors – Rich Heilman of SAP, Ed Herrmann of Colgate, Dan McWeeney of Adobe and myself. Rich, Dan and myself will be coming to Berlin to repeat this workshop there. Unfortunately Ed Herrmann can’t join us because of a conflict, but the rest of us will cover his materials.

Even if you aren’t able to come to TechEd itself, you can still come to just the SDN Community Day and get this opportunity for a hands-on session. And don’t worry if you have already registered for TechEd, but didn’t add on the community day. You can always go back and add the community day into your existing registration.

Persistent and Service Objects – Rich Heilman

See the latest techniques for build the data access and business logic layers in ABAP

Preview new ABAP development tools that will be part of NetWeaver Enhancement Package 2 – released in 2009

Adobe Flex Builder – Dan McWeeney

Install and run Adobe Flex Builder for creating Flex Components

Learn some tricks and tips for Flex Component Development from someone who is also an ABAP developer

Web Dynpro Islands – Thomas Jung

With the new Islands functionality in Web Dynpro, you can embed Adobe Flex Components seamlessly into Web Dynpro

We will take one of the Flex Components that Dan detailed in the previous hour and embed it within Web Dynpro ABAP

Floorplan Manager for Web Dynpro ABAP – Ed Herrmann

Learn how to use the new Floorplan Manager to create consistent user interfaces

Take the Web Dynpro components from the previous exercise (which contains the Flex Component from the exercise before that) and wrap them altogether with the business logic from the very first session to create one finished application

All the steps that I discussed above spread out over the 4 hours will result in the application that you see in this video:

The session will be held in one of the official SAP TechEd hands-on rooms and we will use one of the TechEd ABAP backend systems for the workshop exercises. You still probably want to bring your own laptop as well. As part of Dan’s Adobe Flex introduction session, you will have the opportunity to install Flex Builder on your laptop and build a simple Flex Component.

Just remember to sign up on the WIKI to reserve a space in the room. The number of laptops and seats will be limited. In Las Vegas we filled the room and still had to turn people away when we reach room capacity.

And don’t forget that Community Day isn’t all work. In addition to spending the day networking and attending educational sessions like this one; there is also a fun evening event. In Las Vegas there were several different types of fun and games as well as food and drinks and a live band. My favorite part was the Nintendo WII Rock Band game:

I don't know how many people realize it, but SAP NetWeaver Product Management provides a free webinar series in partnership with ASUG (Americas' SAP Users' Group). This webinar series is no longer restricted to just ASUG members, so everyone on SDN is invited to join in. You can find more details about the Webinar series at this link:The specified item was not found.

As you can see from this link, we list upcoming webinars as well as host recordings of past webinars. Also as you can see from this page, the topics tend to focus on upcoming or hot topics but also try to address topics of considerable interest within our user base.

WebEx Information:

Meeting URL:http://sap.webex.com/ and use the following meeting number and password:Meeting number: 741402099Meeting password: netweaver

I realize that right now we only have toll free numbers for the US and I have a request out to our organizers to find out if we also have tool free numbers for other countries. I will update the blog with those numbers if they exist.

Now for the content of the session. Many of you might already know that SAP Enhancement Package 1 for NetWeaver 7.0 is very close to entering Ramp-Up. One of the major new feature areas within this Enhancement Package is considerable amount of new capabilities in Web Dynpro ABAP.

At TechEd you will get several opportunities to try out these new features (SDN Community Day Mentor Hands-On Workshop, COMP274, COMP277), but this webinar offers you a first chance to see them in action and learn some of the new coding techniques that will make the features possible. I plan to keep the PowerPoint slides to the bare minimum and spend the majority of the hour showing live demos and looking at the code behind the demos. I also want to leave time for an extensive question and answer session.

So what are some of the things you can expect to see during this webinar:

The other morning I was listening to Episode 17 the RIA Weekly Podcast. The RIA Weekly Podcast is always an excellent show that produces some of the most interesting content on the topic of Rich Internet Applications. This episode in particular caught my attention during the discussion on Enterprise scale applications. The guest for this episode was Richard Monson-Haefel of Curl, Inc. If you haven't heard of Curl; it is a programming language and RIA development environment that is focused on the Enterprise.

Now I don't want to get into some detailed comparison of SAP's development tools to Curl's but Richard brought up a particular topic that resonated with me. He was discussing how Enterprise RIA applications need to be able to handle very large datasets - his example was 100,000 rows - with very good performance. Looking back on my own experience as an SAP customer for 10 years, I can remember writing more than a few reports that had to chunk through 100,000+ records - usually destined to be ran by accountants. Although there are tools specifically designed to help process very large data sets in real time (for example BIA or Polestar), it is still nice to see just how far you can push the UI framework itself.

So without really wanting to draw comparisons to other tools, I simply wanted to see just how far I could push Web Dynpro ABAP and what kind of performance numbers I could get from it. Interestingly enough, just the other day Todor Petrov of IBSolution GmbH posted a Web Dynpro Java Context – Speed test. I had started building the examples for this blog a day before this blog was posted, so the similarities are pure coincidence - although I do wonder if perhaps we both listened to the RIA weekly podcast.

So I set out to test a large number of records in the Web Dynpro ABAP table UI element. I wanted to be able to test how long it took to load the records, scroll through the table and sort the table. I used the performance monitor built into Web Dynpro ABAP (activated by pressing CTRL-ALT-SHIFT-P). The response times are then broken down by roundtrip, server and client rendering.

I recorded videos of all my experiments which are posted below - but not to keep anyone in suspense let's just say that WDA didn't even break a sweat with 100,000 rows so I needed to push things harder and decided to add an option to test with 1,000,000 rows.

After you have watched the video, you will see that even 1,000,000 rows resulted in a really nice user experience - sorting in around 3 seconds. However the only drawback to this approach is that it does result in a large user session state - since the data is sorted in memory. The second option I decided to try out was using an ABAP Shared Memory object. ABAP has a very nice technique for table sharing and copy on change that makes it easy to access and use

Now the only drawback to this approach was that once you sort the table, it still has to be copied into the session memory of the user. My final experiment was to try and use Context Paging. This Web Dynpro technique allows you to send small chunks of data to the Table UI element and have a server event triggered when more data is needed. This way I can go back to the database and read only small sections of data - yet the user can still sort and navigate through the entire dataSet. The response time was a bit longer for sorts since this option relies on SQL ORDER BY commands, but keeps the response time at quite usable levels while maintaining a tiny session memory footprint.