SAP Tools, Partners Reach Out to Java, .NET Devs
SAP, at its TechEd '03 Developers' Conference earlier this month, SAP offered .NET and Java developers a peek at an array of integrated tools and web-to-legacy deployment technologies. IDN takes a drill-down look at SAP's new integration and appdev tools, slated to roll out between now and mid-2004.
At its SAP TechEd '03 Developers' Conference this week, SAP will aggressively reach out to Java and .NET developers, offering a sneak peek at an array of integrated tools and web-to-legacy deployment technologies, and launching a developers' community portal.
SAP execs tell IDN that it's all aimed to making it easier for non-SAP devs to build enterprise-class web services that integrate with SAP back-end legacy systems.
SAP has begun shipping the first elements of an entire developer-tuned suite of tools, integration servers and web services frameworks for both Java and .NET devs, aimed to help devs speed design-time development and real-time deployments of web-to-SAP UIs, portals and new business applications.
"SAP thinks that web services are the next technology wave," Lorra Moyer, a technical exec with SAP Labs, told IDN. "Web developers and enterprise developers were doing their own thing, and every once in a while they had to communicate in order to get some enterprise data out to the Web for some sort of business process." And, in Java, the old Java Connector Architecture way of doing things is simply "introducing too many inefficiencies and pain," Moyer said, noting " our customers need more than just a bigger library of adapters."
So, Moyer told IDN, SAP "wanted to provide a platform where these two groups can come together and have a common infrastructure." SAP will provide two distinct suites: One will plug into the .NET Framework; the other will plug into the SAP NetWeaver Developer Studio, based on Eclipse, an open source framework for Java development.
While the tools are targeted to SAP back-office applications, SAP's tools offerings are based on open web services standards, Moyer said, including SOAP, UDDI, WSDL and a number of open security standards.
SAP is a member of WS-I, W3C and the Liberty Alliance, as well as UDDI.org. "There's a Technology Architecture Group at SAP Labs whose whole job is to represent SAP at open standards consortiums, and to make sure SAP's technologies will comply with the standards," Moyer said.
Inside SAP's Developer as Integrator Strategy
Why would a mid-tier Java or .NET developer care about working with sophisticated back-office systems like SAP's R/3? According to Moyer, they offer plenty of career up-side.
More than 80 percent of Fortune 1000 companies have some SAP software (notably SAP's R/3) somewhere in their enterprise to run a variety of mission-critical applications, including order entry, purchasing, inventory, supply chain and even HR. But, for the most part, Java and ASP/.NET devs are kept downstream of core SAP functions. Working or connecting with R3 data has been a dev task traditionally left to costly system integrators or specially trained SAP developers who use SAP's ABAP language.
SAP's use of web services, and the resultant outreach to Java and .NET developers, is a key way SAP looks to reduce the cost of system maintenance and updates. "With new technologies, like web services, there's a lot of potential to drive down the cost of application development, updates and support," Jeff Word, SAP's technology strategist, told IDN.
"But web services are still new, and they don't know much about [SAP] technologies. So what's missing today are efficient and optimized tools for helping developers work with SAP systems without needing to know too much about [SAP's] underlying technology. The SAP's tools suite, which is being built for Java and .NET developers, will address all key layers of web-to-legacy integration projects, as well as their deployment and management.
In specific, SAP's offerings are expressly designed to separate the three key layers of an enterprise application -- presentation, business and database layers -- as well as management of the app. These combine to better enable business analysts, Java and .NET developers and legacy developers to work together more effectively.
- Presentation/GUI Layer - For building web interfaces and/or forms (SAP NetWeaver Developer Studio, Web Dynpro and SAP Enterprise Portals)
- Business Logic Layer -- For enabling business rules (new or existing) to be reused as web services (SAP Web Application Server)
- Database Layer -- For enabling devs to apply their business rules against any underlying database, as well as providing data persistence and reusable data objects. (SAP WAS, NetWeaver and 3rd party products)
The database layer is typically provided by third-party database vendors; however, SAP provides tools like SAP NetWeaver Developer Studio that allow you to create database tables directly from the IDE, rather than having to go out to the database utilities. Additionally, as part of the SAP Web Application Server, SAP provides a database dictionary, which is an abstraction layer to the underlying vendor database that allows the developer to create database independent application (not tied to a vendor specific jdbc driver). Finally, the SAP Web Application server supports database caching, critical for faster user response times.
- Design Time-to-Runtime -- SAP will also provide design-time support for HTML, XML and XSLT, validate the code across developer teams, monitoring utilities, code management and tools to verify that the "finished" code can be built, completed and deployed in working order. (SAP NetWeaver Developer Studio, CCMS, Change Management System and Deployment Tools)
One key to understanding how SAP's complete set of tools works is to keep in mind one of SAP's overall initiatives: to cut the complexity for accessing SAP's native application and business interfaces. For years, the crux of integrating with SAP has been the use of SAP's Business APIs, or BAPIs, which provide a programming interface to access data and tie external code into SAP software. Working with BAPIs required special training and tools, but that is all changing with the advent of web services and standards such as WSDL, XML, SOAP and UDDI, Moyer told IDN.
"Using technologies like BAPI, we've had six years of building a rich business repository," Moyer said. "We can now leverage this to web services."
Moyer uses an example of a company that has a BAPI for a sales order. With web services, SAP will turn that BAPI (and the business rules behind it) into a web service by specifying a BAPI interface in WSDL format. Using WSDLs to connect to BAPI, and their accompanying business logic, will open up a whole new level of efficiencies to companies that use SAP, and will enable experienced Java/J2EE and .NET developers to work with SAP applications without the need to learn native ABAP, she said.
In addition, developers can have a runtime deployment platform for their work that is also independent of SAP. The AP Web Application Server (SAP WEB AS) can be deployed as a separate app server, and acts as an integration broker between web apps and SAP legacy apps. The SAP WEB AS supports SOAP natively, and also gives devs the ability to create their own UDDI directory, which will let users selectively expose their data and business processes as web services that can be tied in with other internal departments -- or even to outside B2B business and supply chain partners across the Internet.
Word also heads up SAP's new Developer Network portal, which will debut at SAP TechEd. At the portal, devs will get technical advice on Best Practices for GUI and integration with SAP, access to free code downloads and demos of SAP's Java and .NET tools as they are released. The portal also offers a collection of technical forums where devs can share ideas and ask questions of fellow devs.
Among these value-adds is an abstraction layer that would allow the user to generate the underlying code in Java, .NET or SAP ABAP from the WYSIWYG screen they created. The resultant code is platform independent -- independent of both the underlying operation system and the database. "The idea was that we could allow users to swap out their database, and their apps wouldn't have to change or be rewritten," Moyer explained. Life-cycle and transaction integration support are also included.
The roots of Web Dynpro come from SAP's own offerings for its ABAP developers. Years ago, SAP provided them Dynpro (short for "dynamic programming'). "We've had some of these features in our Windows GUI for years; now with Web Dynpro, we're bringing these tools to the Web," Moyer added.
In addition, SAP is looking to make it easier, particularly for Java devs, to work with application data, by using a Metadata Model that lets developers work from a single three-level interface to make a change to data and see the resulting changes in higher or low levels of the tree.
"Think about what you need to do in Java to code a simple drop-down list," Moyer said. "You either need to hard-code a list or [find] a way to get the list of valid input fields dynamically. Then, you need to talk to the application person who sets the values, code the value and make sure it's correct and then come up with a plan for changing it. That would take, between finding the fields and tying them in, a minimum of two hours [per data field change].
With Web Dynpro, a developer gets tools to automatically identify the input fields and see the results; the changes can take less than 10 minutes," Moyer said. This capability has been available to SAP ABAP devs in the Windows GUI for years.
The ideas for many of these tools came from SAP's own requirements. "When we started to develop our own apps using Java, we felt there were tools we needed. Compared to what we had for our ABAP developers, there were some big gaps in the Java world, especially in the areas of DB independent persistence and change management, and that started us thinking about how to make these technologies available to more developers," Moyer explained.
"For any SAP solution, you're going to have the SAP WEB AS as your technical platform. Also, all SAP NetWeaver components rely on SAP WEB AS," Moyer said. For context, if you look at the three-tier architecture, the SAP WEB AS is in the middle layer and will provide all the function of today's J2EE app server with the added value of providing (1) web services-compliant plumbing and (2) optimized access to SAP's BAPIs.
SAP WEB AS is the basis of SAP's application stack. In fact, every SAP product, including the mega back-office R/3 application, will have SAP WEB AS as the basis of its architecture, Moyer said. "What that means is that we have a whole dev team that just works on producing that SAP WEB AS layer. And they have release cycles just like the app people do. As the basis layer finishes its release cycle, it's picked up in the system app layer," she told IDN.
This also means that a developer using SAP WEB AS can create web services that connect to the SAP Enterprise Portal, SAP Exchange Infrastructure, and even transaction-dependent apps running on R/3. "With a full suite of web services interfaces and our optimized mapping to SAP [functions], a developer won't have to worry about his platform or his partners' application platform. They just have to care about web services," Moyer said.
"Our customer base operates in a heterogeneous environment, SAP often saw customers putting in different pieces from different vendors in order to piece components together. The process often meant that the seamless solution never happened, and that smaller projects just broke down into silos, with the UI person worrying about how to integrate users and the person responsible for the system administration looking at it from a systems integration perspective, and so on," Moyer said. One of the crucial ways to reduce cost and improve code quality was to bring all these functions under one umbrella. "We needed to provide a business-oriented integrated platform that addressed the entire issue from a business perspective, not just a lot of separate tools, with no business value" she added.
Moyer said SAP expects this end-to-end approach will also make it easier for dev teams with different skills to more effectively work together. SAP NetWeaver components include: SAP Enterprise Portals and Mobile for user integration, SAP Business Information Warehouse and SAP Master Data Management for information integration, SAP Exchange Infrastructure for process integration and SAP Web Application Server as the scalable, reliable and secure application platform for enterprise and web development and services.
"Typically, with teams working on SAP or any other enterprise system, you had someone familiar with the business app, the underlying code of the application, a person who knew how to connect to the back-end system, a database resource and a team familiar with the front end (graphics, layout, content, IDE, etc.). You had to get them to work together," Moyer explained. "We believe that using web services or Web Dynpro will help reduce the number of people involved in enterprise development efforts. [Developers] should just need the front-end team and a business analyst who is familiar with the application process," she added.
SAP NetWeaver also enables developers to untie their business logic from their underlying database. "While many in Java will say 'I don't go swapping my databases every year,' there are some Informix users, as well as SQL users, looking at their options right now."
In particular, devs get a central repository, called the Design Time Repository, where code is stored with notations of dependencies to other code sets. "This means when you need a service pack or you're doing upgrades, you rebuild only those new pieces and their dependencies, which the repository will help identify," Moyer said. Used internally by SAP, this element of change management makes project construction much more efficient. Prior to use of the system, one complex SAP project needed one change-management person per 10 developers. "That was just crazy," Moyer admitted. After it was put into use, that ratio dropped to 1:40.
Leverage Legacy with Web Services
In the end, reuse -- of code, business rules and even skilled devs -- is a key theme in these new SAP technologies.
"We wouldn't be where we are with web services today if we hadn't started breaking out doing modular applications interfaces six years ago. SAP is all about leveraging and building on top of things," Moyer said. She also added that SAP is committed to engineering in abstraction technologies through the SAP product lines to make it easier for .NET and Java developers to program with SAP. "Universities are now turning out a lot more Java & .NET developers than ABAP developers," she said. "Overall, it will be much more affordable for our customers to help them find ways to use the talents they have to work with the technologies they already have from us."
For more on SAP's Java and .NET technology programs, go to SAP's Developer Network.