Skip to Content
Recap
To recap from the last weblog, we were just at the point where we were ready to start doing some real development in BSP. We had the tools, the servers, and the support from management. All we needed now was developers that knew how to use the tools.

Getting Started
You have to remember that at this point, there was no SDN. There were also no books published on the subject. We had some experiences and presentations from SAP conferences. However what you pick up from a conference is often just a good introduction to a subject. Quite often you need something more substantial to really get developing production applications. We also checked out what SAP offered as far as formal training. We did send one developer to the only class that SAP offered at the time. It was a course on 610. Although a good introduction, we really wanted to write MVC (Model-View-Controller) application with the HTMLB libraries(BSP Extensions). Since all this functionality was in 620, it wasn’t covered in the class.

We soon realized we were somewhat on our own. The decision was that one developer would try to learn as much as possible by studying the release notes, on-line help, and the samples in the system. This one developer would then hold a training course for the other developers in our group.

Training Course
I began my research for the course by looking at every SAP provided BSP application in our system. I set breakpoints and debugged to see how they flowed. I copied some of them so that I could make changes and see what happened. Of particular helpfulness were the sample applications that began with IT* (IT01 – IT05 and ITMVC) and the ones that begin with SBSPEXT* (IE: SBSPEXT_HTMLB). Overall I learned a lot from these existing applications.

Delta Training
As I sat down to write the training materials I realized something: there is a lot of new functionality in ABAP going from 46C to 620 in addition to BSP. My training was slowly changing from BSP specific to ABAP Delta Training. To give you an idea of what the final training looked like I have included the Table of Contents from the course:
Unit 1 SE80 in 620
Unit 2 New Basic Syntax
Unit 3 Object Orientation Extensions
Unit 4 New Exception Handling
Unit 5 Java Script
Unit 6 XML Processing
Unit 7 Sending E-Mail
Unit 8 BSP (General)
Unit 9 BSP (Custom Tags)
As you can see, BSP ended up only being about 1 day of our 3 day training course.

Training Today
Overall I think we did the best that we could with the information we had to work with. Our developers were off to a better start than if they all had to do the research on their own. If we were starting today we would do the same, but we would have additional resources. Now we have SDN. Between the weblogs and the forums, there are plenty of new learning opportunities every day. I would look especially at any of the weblogs authored by Brian McKellar. There is also a nice introductory book that can be found on the SAP-Press website.

First Applications
With our training in hand we were now ready to start developing our first two real business applications in BSP. One was going to be an Exchange Rate website and the other was going to be an Engineering Change website. Something very interesting happened as we started these two applications. We assigned two different developers to each application. These two developers had very different backgrounds and therefore the finished applications ended up looking very different.

I was one of the two developers. My background was heavily ABAP with almost no outside web development experience. The other developer was a traditional web developer with a background in ASP and ColdFusion, but very new to ABAP.

Developer Differences
The developer with the web background had a harder time separating this presentation and application logic using MVC because he was used to mixing them in ASP. I found myself liking MVC because it allowed me to program web applications very similar to the way I would program a dynpro. Also I was already using Global ABAP classes for my application logic in 46C dynpros.

JavaScript
The other big difference was the use of JavaScipt. Our developer with the web background was used to coding lots of JavaScript into his application. He would do almost all validation on the front end with JavaScript and lots of hidden fields. He also didn’t use as many of the BSP Extensions (HTMLB tags). He was used to using his own style sheets and the native controls. On the other hand I had almost no JavaScript in my web pages.

Although it was true that I really didn’t know much JavaScript, I never felt that I was missing anything. I found that by using the BSP Extensions that I just didn’t need a lot of JavaScript. I relied on the functionality provided by the BSP Extensions. This kept me from having to come up with a look and feel for my BSP application (which is a good thing since I am hardly an artist or a designer). It was provided by the BSP Extension.

Validation
I also found myself doing most of the validation on the Server where I could use ABAP. Even with the additional round trips to the server for validation, both websites had similar response times to the users. Actually we found that on some pages, a application with lots of client side JavaScript would execute quite slowly on older machines, whereas we got fairly consistent performance from a application with Server side validation.

Advantages
Over the past year we have seen that the use of the BSP Extensions has paid off. With newer support packages, SAP has enhanced the code within these Extensions. I will cover the functionality we found in these extensions in more detail in Part VI. Over time we saw that rendering performance increased and the visual look of the extensions got better with the introduction of new Designs and Themes. The applications that were developed using these Extensions are able to take advantage of these new features with little or no coding changes. The users also appreciated the common user interface that begins to form via the use of the extensions. What they learn from the use of one website can be reused in others.

ABAPers and BSP
People usually look at me funny when I say this; but I think that developers with a good solid background in SAP and ABAP will have an easier time developing with BSP than a traditional web developer. The concepts used in BSP web development match well with those of traditional ABAP development. I think BSP feels like the natural progression of ABAP. Combine that with the fact that you are quite often accessing and building addtional business logic using ABAP in the backend, and your ABAP developers should right at home.

Outlook
For all you code-junkies, I promise a fix in the next edition of this weblog. I will have at least a small amount of sample code. We will talk about RFCs and the BAPI Browser.

Example
As I close today I will leave you with a screen shot of our first ‘Productive’ BSP application. In the winter of 2002, most of our team was in Thailand for our R/3 implementation. Although it was hot enough to fry an egg on the sidewalk in Thailand, it was snowing back home in Indiana. To make our team feel a little more connected to home, we created a website that they could go to in order to get pictures of home. Actually we used the SAP Content and Cache Server to store the documents so that they could retrieve them quickly (but the details on that would be a story for another WebLog).

image

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. Shari Jung
    Your comment on how developers of ABAP will have an easier time with BSP than a traditional web developer are very true. As a traditional web developer I find myself struggling to understand where to begin. Good log! Keep it coming.
    (0) 
  2. Shari Jung
    Your comment on how developers of ABAP will have an easier time with BSP than a traditional web developer are very true. As a traditional web developer I find myself struggling to understand where to begin. Good log! Keep it coming.
    (0) 
  3. Shari Jung
    Your comment on how developers of ABAP will have an easier time with BSP than a traditional web developer are very true. As a traditional web developer I find myself struggling to understand where to begin. Good log! Keep it coming.
    (0) 
  4. Athur Vijay
    Greetings,
    The blog is good..jus a slight apprehension on the “Javascript” part…BSP extensions do give lot of functions as it’s  a server side scripting language..There has always been a clear cut difference between a client side scripting and server side…neither of them can replace each others job..I belive developer with web backgroud is certainly a + when it comes to development of BSP or for that matter any other server side applications.
    I’m sure when it comes to UAT (User Access Testing)..the first thing the user sees is the small validation problem rather than the Scintillating logic..

    -Athur

    (0) 
  5. Athur Vijay
    Greetings,
    The blog is good..jus a slight apprehension on the “Javascript” part…BSP extensions do give lot of functions as it’s  a server side scripting language..There has always been a clear cut difference between a client side scripting and server side…neither of them can replace each others job..I belive developer with web backgroud is certainly a + when it comes to development of BSP or for that matter any other server side applications.
    I’m sure when it comes to UAT (User Access Testing)..the first thing the user sees is the small validation problem rather than the Scintillating logic..

    -Athur

    (0) 
  6. Athur Vijay
    Greetings,
    The blog is good..jus a slight apprehension on the “Javascript” part…BSP extensions do give lot of functions as it’s  a server side scripting language..There has always been a clear cut difference between a client side scripting and server side…neither of them can replace each others job..I belive developer with web backgroud is certainly a + when it comes to development of BSP or for that matter any other server side applications.
    I’m sure when it comes to UAT (User Access Testing)..the first thing the user sees is the small validation problem rather than the Scintillating logic..

    -Athur

    (0) 

Leave a Reply